(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Amazing Computer Magazine (April 1988)"



^ 



^* 




COMPUTIIMG 



Volumes Number 4 

Your Original AMIGA Monthly Resource us $3.50 Canada $4.50 



THE 

AMIGA 
AUDIO 
EXPERIENCE 



t, 1., 



Reviews: 
MusicMouse 
AudioMaster 
Amiga-Tax 
& Much More! 



/ 



/ 



Amiga Audio Guide 



ALSO: 



-t— t- 



Higlilights From The Los Angeles AriiiExpo* 



-i-j 

n 




:€^^^H^H^r l^is^fili^^^^m A 


r - -J 


^W^L^^^K—^ 




^^^^ ^^^^K^^^^^^^^^^t^^^^^O^^^^r 







0. 




tv- 

— 







vf 


?. ■ 








' I 



w 



GOOD THINGS COME IN SMALLER PACKAGES. 

itino NEW AVATEX 1 200 E. 




TOTAL DELIVE 



AVATEX 

Authorized Soles & 
Service 



mMj- 






ACTUAL SIZE ONLY 5" X 6" 



FREE! CG^municQtion Software CompuServe Access Time with each MODEM. 



We give you q 
preot price . . . 

' 5a FREE 
515TANCE 

. ..MEDIATE 
DELIVERY 
+ NO CREDIT CARD 

SURCHARGE 
+ NO SERVICE OR 
' HANDLING FEES 
I 



FREE SHIPPING! 



TOTAL H AYES COMPATIBILITY 
8 LED STATUS INDICATORS 
ALJTO DIAL AND ANSWER 
TONE OR PUL5E DIALING 

NEW 1200 E FEATURES 

CCITT COMPATIBILITY 
CALL PROGRESS DETECTION 
INTERNAL SPEAKER 
2 YEAR WARRANTY 



Thousands of customers hove purchased 
the AVATEX 1 200 from Megotronics. 
New technologies now moke it possible 
to offer on improved version of 
this popular Modem. 

The 1 200 E is amazing. 
It weighs less end is smoller. 
It hos even more features. 
It's still the some low price. 




MEGATRGNiCS, 



3660. LOGAN, UT 84321 



To Order 

CALL FOR FREE CATALOGUE 

CREDIT CAIXD5 VERIFIED FORYOURPROTEaiON 

800-232-6342 

IN5lDEUTAH(60l)752-26-t2 FAXC80l)752-6752 

We'll beat any advertised price. 

MEGATftONICS. INC.. P.O. DOX0660. LOGAN, UTAH 84321 



It's Time To See How Your Word Processor 
Stacks Up To ProWrite ' 2.0 



Feature 



ProWrite 



T 



Scribble 



TextCraft 



VizaWrite 



KindWords 



? 



LPD Writer 



writ 

r: 



SPELLLXG CHECKER 



r 



z: 



^ 



? 



MMLMERGE 



t: 



r 



v; 



OFEX MULTIPLE IXXIIMLNTS 



r 



T 



TRll MULTIPLE FONTS 



7; 



^ 



LNCLLBE COLOR (iRAPIIlCS 



7" 



PL\CE GRAPIUCS AN^'Vi'IlERH ON THE PAGE 



r. 



USE COLOR FONTS 



ir. 



^ 



^ 



v^ 



7" 



WSTOYG DISPLW 



7f 



USER-SET.ABLE PREH-RENCES 



r. 



-^ 



LEFT. RIGHT .VsD DECIMAL TABS 



r 



PAR\GRAPH SORTING 



r 



CIL\R;\CrER, WORD, LINE, AND PARVGRAPII COLOTS 



FAST GRAPHICS PRINTING 



X 



USE .-VNY PREFERENCES PRINTER 



V: 



r 



T 



^ 



It 



^ 



AUTOMfflCyXY CONHGLIRES TO PRLNTER 



Now You Can Trade Up To ProWrite And Save $50 I 

See for yourself — trade in your current word processing software, and get S50 oflFwhen 

you order ProWrite, tlie only multi-font color graphics word processor for tlie Amiga'! ] 

ProWrite 2.0 h;Ls a number of powerful new features, A spelling checker witli a 95.000- i 

word dictionar)'. Mail nicrgc. Tlie abiHt)' to read hold-and-mfxlif\' ( HAM ) pictures, and to ] 

resize pictures xs well. In addition. ProWrite has the Workbench 1.3 printer dri\crs, for i 

much fester and higher quality' graphics printing. All this, plus ProWrite's flexibility- and ] 

ease-of-use combine to make ProWrite the best word processor for the Amiga. i 

Here's the offer: just send us die master disk of tlie word prcxiessor you're using now, 
^and get ProWrite, \'ersion 2,0, for only S75! That's a savings of 40% — which makes this 
a perfect time to reconsider your word processor. Because now, when you compare j 

ProWrite ;uid tlie competition, it rc:illy pays! I 




CALL FOR A FREE BROCHURE ON PROWTtlTE AND FLOW " 
THE roEA PROCESSOR FOR AMIGA. 



New Horizons 







w 



R 



First In Personal Productivity And Creativity. 

P.O. Box -4.^167 / Au.stin. Tf.xiLS ^BT-i^ - ( 5 1 2 ) 528-6650 



I'M READY TO MOVE UP TO 
PROWRITE 2.0! 

Here's my word processor master disk and a difck or mont;\- order 

for $75 payable to New Horizons Software. Inc. Send nic the new 

ProWrite 2,0! ( Texas residents please add S6 sales tax ). 



NAME 








I 
! 1 


ADDKHKS 1 

1 


aiv 




snATE 


ZIP 


1 < 










J 



M § Volume 3, Number 4 



Amazing Features 

Highlights from AmiExpo, Los Angeles 8 

by Steve Hull 

The Amiga shows off its best in the West. 

Writing a SoundScape Patch Librarian 38 

by Todor Fay 

Get your hands dirty working within 
the System Exclusive. 

Upgrade Your AlOOO to A500/2000 Audio Power 58 
by Howard Bassen 

Modifications to help your AlOOO make 
sweet music, too! 

Amiga Audio Guide 70 

A descriptive listing of all Amiga audio products. 

Gels in Multi-Forth by John Bushakia 72 

Push Gels to the limit with these programming tools. 

MacTobatics by Patrick J. Horgan 83 

Ease the trauma of assembly language programming. 



Amiga Audio Sources 

The folks behind all those audio products. 



103 



16 



35 



49 



Amazing Columns 

Take Five! by Steve Hull 

Four lightning-paced titles to slash boredom. 

Amiga Notes by Rick Rae 

Confounded by sound? Take a basic tour of 
Amiga audio. 

The Ultimate Video Accesoiy, Part V 

by Larry White 

Now that we've got the basics down, let's add 

some flash to our video. 

Bug Bytes by John Steiner 
The exterminator strikes again. 

The Big Picture by Warren Ring 

Part II of the eye-opening Unified Field Theory. 

Roomers by The Bandito 
Hardware hijinx ... Toasted video ... 
the dream Amiga ... and more! 

In the Public Domain by C.W. Flatte 
C.W. has hooked the latest Fish disks — 
here's an inside look. 




Amazing Reviews 

Time Bandit by Keith Conforti 25 

A whole video arcade wrapped up in one game! 



AudioMaster by Brendan Larson 

Friendly digitizing software that 
samples in real-time. 



27 



Music Mouse by J Henry Lowengard 29 

Making music without lifting a finger from the mouse. 

Amiga-Tax/Canadian Version by Ed Bercovitz 31 

A Canadian income tax planning, preparation, and 
analysis package for the Amiga. 

SAM BASIC by Bryan Catley 81 

A new BASIC which exploits even more unique 

Amiga features. 



Amazing Departments 

Amazing Mail 

Index of Advertisers 

Public Domain Software Catalog 



35hm slides FROH YOUR ARTWORK! 




AMIGA 

|Ss)aci>li.l. I TRU 



( \ 



PrnfESsinnal 3Smm Slides 
^ Now you can have reproduction and 
presenution quaiiiy slides of your work 

<j> Distorlion-ffce — lills in raster lines 

crisp bright colors, converts all IFF files 

Now 

CustOM graphic ni't .^Mcl i llustpatlon. 

S10 each ranyoLir 1st to ^th slides. 
5 -to 9 sliaes-S8.50 
Over 1Q stides — sa.OO 
Add S2.0a fop shippinpr. 
Now York residents add. sales tax. 

CjII (212) 777-7609 FOR DETAILS 

Ask for llene — or write TRU-IMAGE 

P.O. Box GGO, Cooper Station 

New York, N.Y. 10275 



r» .(If COiWnoOVt-An-^a. 




Publ)«h«r: 

Aulatint Pufa<I«her: 
Circulation Manager: 
AaaL CirculaUon Mgr.: 
Corporate Trainer: 
Tialflc Manager: 



Joyes HIdu 
Roben J. Hidta 
Doris Gambia 
Tracl Desmarais 
Virginia Terry Hicks 
Robert Gamble 



EDITORIAL 



Managing Edilor: 
Co-Editor: 
Co-Editsr: 
Hardware Editor: 
Mualc i, Sound Editor: 
Amicua A PDS Editor: 
Copy Editora: 



Don Hicks 
Emesl P.Wvelros Jr. 
Mk:hael T. Cat>r3l 
Ernest P. Viveiros Sf. 
RlcJiard Raa 
John Foist 
Julie Landry 
Mkha^l C:eeden 
Abert G. Andrada 



PBODUCnON 



An Director: 
llluatralor: 

ProducUon Manager: 
Aaaocjate Prod Mgr: 
Ptoductian AtaJelant: 



Keilh Conlorti 
Brian Foi 
Mark Thlbaut 
Rico A. ConfortI 
Keven V. (Tesmarais 



fVolif ic Inc. 



PRO-NET 



Available 
Now! 

PRO-BOARD 



ADVERTISING SALES 
AdverUalng Manager: John D. Fastino 
1-a00-34S-33a) w 
1-617-678-4200 

SPECIAL THANKS TO; 

Buddy Terrsll 1 9^rd Press 
Betsy Pper a! Toeh Pluj 
Bofc at Riverside Art. Ud. 



kfuat^ Carrwvts™ (ESN OefiS-BiaO) il puettfiM ty PIH 
f\iaa10flt, k%, P.O. Box $£$. Ftfl h««f, MA D272Z 
SotHcrpDiyii: iri t* U.S.12 tt«jM 4or S2A00: in C«iaii I 
Ubco. ta.OO; OWMII; l».aB. FY>«d m M U.^Il. 
C«|^mQh« 196& by PU P-Afntem, Inc. M n^ nmrMi. 

Brit ClBI or Ar Mai rttot wtllM i/fM m^mi 



RM PuUcami, tc 



tt tiQM IB vtun 



RU FS«lc«onK In^ n net abi^ntf o mm LrueJIoM 
fflBKM. Ad mMtnidt ivqMfIng m^rr mult M rtwwd 

Em] *(»• lubmiuBni n both minu«r<p( im ditt hrmii to 
t>a Co-Edur. RaquMi far kutvi^ OlmMi tfiDuU b« dnnd 
« n idMu bHAd ibov*. 







AMIGA'- 
only 



- -'ft 







$475.00 



$475.00 



POWER+SIMPLICITY=PRODUCTIVITY 



Feel our POWER,,. 

PRO-NET: 

• Variable template size 

• A to E paper siie 

• Extensive Library included 

• Aufo dovice r)umt>er with Zone control 

• Gate swapping 

• Singl0 clicff charrge to negatniv fogic 

• fnrKjVBtnv weight asstgnmen! 

• Auto page tetemnce 

• Dynamic error checking 

• CrBatBS BOM. Spare Part List, Net List. 
Error repcJrf. etc. 

• Supports printers & plotters 

• Supports Laser PrJriter 

■ Back annotation from PCB layout 

• Moife. Rubi^er and lots more 



PRO-BOARO: 

• .025 inch grid 

• .DOT inch grid Library 

• 12 mil trace, 13 mil space 

• Produce I 2. 4 iByer PCB 

• Provides silk screen 

• AuiQ coordinates assignment 

• Auto produces pcfwer 9nd grid layers 

• Single !ine auto route 

• OptionBl Net List Input tor guided route, 
no need to look at schematic 

• Prioritized rouia 

• Dynamic error checking 

• Supports printers, plotters and Gerber 
photo plotters 

• Copy, Repeat and lots mote 



See our SIMPUCITY. . . 

Intell geni Function Keys make aur programs exiremely user fnend^y. provjde maximum screen area, always display all 
reJevani commarKls. avoxls excessive cuisor nwvement and screen Hashing between nnenu & drawtng. guides user Uirough 
Opejralion. minimizes Iraining time 

ORDER OR CALL FOR DETAILS 

1808 W. Southgate Ave., FuMerton, CA 92633 

Tel: (714) 447-8792 Telex: 5106016526 PROLIFIC CALIF 

Western Union Easy Link Mail Box 62935949 






THY OUR DEMO DISKS FOR *15 EACH. 
Also tram Prolific Inc., 

4 full feature AMIGA™ Macro Cross Assemblers 
for Z80, 6809, 8085 & 8051. 

See our SIMPUCITr 



PRO-ASM 



Feel our POWER 

• Includes multi-pass Assembler 
Linker, and Serial Dawn Load 

• Generates relocetsble Object 
Code Module 

• Nested Macro 

• Includes Files 



DEALER mOUIFTf INVITED. 




$85.00 



feel our POWER 

• Conditional Assembling 

• Rich set of ditecttves 

• Global and External Variabfes 

• Data format includes Binary. 
Motorola Hex. Intel Hex. and 7ek Hex 



AMIGATM trade mark of 
Commodore Inc. 



Amazing Computing V3A ©1988 



J^ M. J^ Z I Isl G A4 A I L 



Another Amiga Virus!!!!! 
Dear AC: 

For your virus article: a second ap- 
peared some months ago. The virus 
only influences A-2000 and A-500 with 
internal battery buffered clocks and 
causes the computer, some weeks after 
being infected, to reset. At the begin- 
ning it resets only after several days, but 
later its an endless reset-loop. 

The virus can be located in the battery 
buffered clock E^M and it only can be 
killed effectively by disconnecting the 
jumper J 36 on the mother-board 
(German model), but so you offer the 
battery buffering (sic). The Virus is 
about 1 /2 - 3/4 years old and comes 
from Belgien, Holland. It doesn't infect 
a Janus-Hard disk. 

N.b.: If the SCA virus shows its 
message you know it's on the last disk 
you booted from before reseting by 
CTRL-A-A. 

Sincerely, 
M. Indlekofer 
West Germany 
When will this end? Since we reported the 
second Amiga virus (the first one was in 
early 1986 when there was a problem with 
accurate dates on the file message), reports 
of widespread viruses infecting all forms of 
computers have made national news. 
Newspaper reporters and TV anchor people 
are struggling with the concept of viruses 
and computers as they are reporting new 
outbreaks almost weekly. 

The virus problem is serious and users of all 
computers are in danger. If anyone has a 
suggestion on how this can be monitored 
and stopped, please write, your answers are 
important. 

Dear Amazing Computing, 

I am glad to see that Amazing Comput- 
ing is finally getting some good 68000 
Assembly Language articles. I find that 
good tutorials in this eire pretty much 
lacking. What is seriously needed is a 
set of various program examples that 
explain what is necessary to set up, how 
things are set up, and why things are set 
up that way. I am still relatively new at 
68000 Assembler, and feel the lack of 
good materials. 

I did, however, input the program by 
Allen Barnett (vZ.H) for solving linear 
equations using floating point math. 



The program is well written, as all 
libraries are closed properly in the event 
that one doesn't open . 

But, for those who tried to run Allen 
Barnett's program and found it didn't 
work, here is the reason: Allen wrote 
this program using a compiler with the 
1.1 version of 'amiga.lib' which has a 
bug in it. This bug was fixed in the 1.2 
version. Therefore, the correct code in 
the loop "SolLp2" should be: 

move.l #PBuf,-<SP) 

move.l (a2)+,-<SP) 

jsr _fpa 

lea 8(SP),SP 

This removes the 'dummy' instruction 
he found necessary for compiling with 
'amiga.lib' 1.1, and affects loading the 
effective address by four bytes (8 
instead of 12). 

Allen evidently was not aware that all of 
the _LVO calls (except _AbsExecBase) 
can be handled by: 



SYS 



MACRO 
XREF 

jsr 
ENDM 



_LV0\1 
_LV0M(a6) 



It saves typing many individual XREF's, 
_LVO's and (a6)'s. Also, 'SYS Write' and 
'SYS Read' can be used in his WritcCon 
and ReadCon macros (I learned these 
concepts via a local programmer). 

Sincerely, 

Marvin Millis 

CANADA 

Thank you for the hin ts and corrections. We 
are always searching for new and different 
Amiga projects in hardware and software. 
We were not able to place a good Amiga 
Assembly Language article in the magazine 
until we received one. We continualy rely 
on the versatility of our Amiga readers to 
provide their insights and techniques to this 
very powerful machine. 

If you feel you would like to contribute more 
to the magazine, please contact us for an 
AC writer's guide. AC is an Amiga forum: 
it only works when everyone gets involved. 



Dear Amazing Computing, 

RE: Fat Agnes Hack for the Amiga 1000 
I have been a devoted reader of your 
magazine since its inception and enjoy it 
very much. I have found your hardware 
and software reviews, columns and 
instructional articles to be both entertain- 
ing and extremely helpful. You do a 
great service to the Amiga community by 
publishing this excellent magazine. 

I am an attorney with three Amiga 1000s 
(each equipped with an external drive 
and one megabyte of expansion mem- 
ory), a 33-meg C Ltd hard drive and an 
HP Laserjet+, I bought my original 
Amiga 1000 when they were first 
shipped in October of 1985. 1 purchased 
a second Amiga 1000 in February of 1986 
and third in September 1986. Having 
suffered through the extremely lean 
period, 1 am very pleased to see all of the 
new products that have been released 
during the past year. 

However, I must add my name to the list 
of Amiga 1000 owners who feel that their 
machines have been abandoned by 
Commodore-Amiga in favor of the new 
Amiga 2000 and 500 machines. I 
considered it to be highly unfair and 
unrealistic of Commodore-Amiga to 
think that people who took a chance and 
purchased the machine in its infancy and 
struggled through all of their trials and 
tribulations of that period will automati- 
cally go out and plunk down the largo 
sums of money necessary to purchase the 
Amiga 2000. Frankly, 1 feel that 1 am just 
beginning to get my money's worth out 
of these machines. 

Nevertheless, I would like to have the 
benefit of the ability of the 'Tat Agnes" 
chip used on the Amiga 2000 to access a 
full megabyte of chip memory. This 
would be a great boon to productivity in 
my office since we use the multitasking 
feature of the Amiga 1000 to its utmost. 

In addition to having WordPerfect, 
CityDesk, Faac 11, the Workbench Clock 
and the Gizmozs Rollodex, Calendar and 
Financial Calculator open at all times, we 
also use Deluxe Paint II, Butcher 2.0, 
Analyze!, Acquisition and sundry other 
products on a frequent basis. I have also 
developed an extensive documents 
library and forms library using these 
machines in my practice. 



Amazing CompuHng V3.4 ©1988 



A mazing Dealers 

The followiBg are Amazing Dealers, dedicated to supporting the Commodore-Amiga'™, TTiey carry Amazing Computing"*, yoxa resource for 
information on the Amiga™. If you are not an Amazing Dealer, but would like to become one, call FiM Publications Inc 



1-617-678-4200 



Tu; Conrpi/Br PIk 



llHHn BMt ft CA'nfuW UH4«'f 



SnfwnmCtv 



LCA VlOW I CgmpoHT CT. 

i^wUT#( Carnpjan 

PenHT tfMy Dm E u n j<ii t ii 



Tbi CvrpuMrCatv 






T-« Uoa Snop 
Aifam 

Ci3mmEida« Conneeton 

ll*cii;i'i 

NDttT Amartan OflDri 

Ml y I fiMmEla na 
Ajgrwl 

BaboKonot &4)|yT 
bBnPi«OM CVTip^PtiA 

Bf> Facory Cofrpuars 
Caruy Cerrpjar Synvni 
Qfca Df Bdoiu 
CtiaorEhXiiu 
C#^Tiad»i« LAM 



Th>aiQ 



Mt 



Uvni 



Tvnp* 

Pnoanii 



FrararCrr 
Fwnam 



CofflfUW Bewanv 
CvnpUV Tarmna k^t 
CiNTipuMri 4 Hani 
ComjUBTi Piui 
CoTonca Ire 



UWEAuTV 

W, Pi^ Etoach 
5. Dayaina 
Swwvl 



CwnpunvBarn 

htvns O Cvnpjiir^ 

FUdd Siaoi Aiimra Sm'Vi 



Safngl 



EdJcMoi Corrpultft Ec TMtfiUM 

Fvnly CtynpuMRl SvalOV 

Hwninr CAffipuw'i Ui^H'^ 

Hero CflT-pjf Canwf La^ 

Mm At^ C ta L i U T Ka A. PcBfirurg 



StT<>f^ 



&3rTtcuvr H»>^ tnc 

Cgrt^tarOuSaT 

CoF-TpukrDiAaT 

CamAiHrTina 
CwmiNnruwd 



T>a CcpbOv Son 
Tha PC Celartor 



CfTulHB 
FJvmviT 
Sa-nJaH 




(hMC CompuHr CviBr 

Oou< CompuwCarar 

ID 

UcaP 



OmndRacMi 



VlOH Comaeaan 
VUj^ Caripuvr he 

Wwu Cairpunn, kic 

Oflili 

KlSNmruiand 

KlSHavnknd 

KI^HawuwvJ 

USrtnrniBXl 

Hnrt Carrw 

SonmvmCfm 
TDSComputos 



(fchorr 
Haia^ 



UmQEirmi nl Ofti 
UkToUvia 
Paa(<«'l ComguBn 
Vmmtm 



Satea4C«ntil 



SailLaNaarr 
SMI u^ l^tr 
aaiLaMCJiif 



Carr Vtlaga 
Flakigh 

Fvgo 



LnnQBaatfi 
Santa Rm 
WBnutOaH 



Dilftiar^ Nawi Agvcr 
DKDtrl CoTTEUtar S^lon Inc. 

&rara Con^tars 
ECK Cwnpukr Go. 
F9f«r CoTpuk'a 



htamntfnn. Stfndw I VBinj. (re 

Mama CwifWEing Ca^«F CAncvQ 

Huma CompjsnQ CwiMF UhValay 

HHma Com puenp Cans r San Livtte 

Homa Cir^PLAnQ Canta' San Bruno 
KTSiartof»a 



FiA^vSyvhm 
£o^«i« Bai/sn Inc. 
T^iaM Sispa 



Anrs CenipuMn 1 EiacnrKX Maia 



ril lP' l' iCarwptJf gmra 

SnpadO>K 

Spaotfira Concblor 

SavStaalCwTfiiai 

TJ.EntaVH* 

Tta Etfga Co'Tiocbr 

1>a Son WKr^ouM 

l>«adCamEu«r 

Vtoaa Aai 

Vi Ooa CcvnpLrar ShoDfw 



CsTfuvf Aiaocaai 
<LKCompu»n 
Tho Corrpjar Stara 

e»?"»»a ito^Snwni 
tHtawaoB Jnamilona Ma 



Mcntotfi Comiaitar Carrtar kic Tntotto 



Amadng EkcTanci 
AP-KLt-COOP 



Compulr £)oivi^ SaVooi O i<lnjh» B 



Ca^TfiiWj vU Lhm lta|^ 



Datwi 



JiCF^wr 

AAi. Cofrputar 1 Vdia 



Harrpa 




C4nk^ 

SwIir^Ha. 
VpBlvn! 



E^gan 



Pwl mil 
StfMaaxllAn 



FAIrntU 

TTUn 

CuncmaSi 

CansrvM 



KAOS 

UiTii^a C0Tvua<' Bbh 

HymMlQim 

OtVI l / 1Mf^MBf 

Praprami Pita 
Hoa Tk^ia 9|r<tom 

ri>Bia«BC«i* 

TlMAb^ 



tintva 



Sana ComputoP I Voos Irc 

ADtWIor 

006 Co^piA^ Ca'vw 

LC V DaaCaTHi'imc tkj^ttmn 

Kaapn Pan CorvftLimtt Cna-rrtatgri 

Hn<rt l Bf«nw«l Crvago 



Momvt 



d Sef^nra CempjB 
UOOo'inooirijkc. 

Spaoat^lK 

Vaiaritrc 



Malaga CornpjW CarMr Qcaan SprinQi 



Sana An* 



KJCompt/an 

LamV 

Lie CompuMn 

Woo Fllglil 

ms Ire Tmw QMki 

Nonaaon SoTtwara 

Op Amp Tad^ Bochi 

Pvu Nawiifend 

FliRSo'Mm 

FUgaont! C«npuar Cr. I<i:. 
SawY«r^ NMn Inc. 
S05.Carrpknn 
a Ant 



Harm HdIi>wwhI 
Santa Ana 
San Jadrm 



Seifvri<« Cny 

SefiaaiaPbi 

5«tMii4Piui CnGago 

5«tMai«nuf Wfl 

Tha Uimoiy EKparalan 

MwwiRadD 

IMc^Compuwi 

lOOIOft 

ft/W! Ctfl^^AT Cr. 

BrHiiarArV«a 

C«mp<nrCvn«r 




AuEkOavo Cornpuvr Sa rvnai Sprrg^ d 

BrwKb Mn Corrpukn KaraaiCJtT 

Dm ByM Cornpuh' Co. SL Loui 

tabm fWr^ar LU. Ctmar^Ud 

9|nHlTt»P^I MtpWtKA 

Srnvfki Piut p( Sl Laut Sl LdiJi 



t>aaiaT» 
UcraLn«i 
PCT«n 



Von-Corrphe 
Oaipan 
.Wrvnaoi 
CapiM Una I Cartar 
Ciiaianta Camti.mn 

CprpuTnr titmr^ni art 
Pe«rti*i Bmu 

PHpai*) Tacn 
F*cn C-gar Sbw 
GotWara Ecptasi 
Sonaara Ppar>a 



Cemtuw Sehnra Carqar 

Fu Vatar Panenri CompuW Cw«eah 

Uom^Campjwi SMwna Pi 



TUW Bafvaq Ire, 
Cen(ulier PUT 



Pailv4 

P<^W4 



DakPra 

riiiin'ii^ ffiiiiiii^rauai]! 



Sou ri Bond 

Angtfa 

FonMiina 



i^tpM^^an CvrsMjKT Syimi OmotFflii 
yy Com Inc. notamouti 



S?^!hP4 Soiij1»nt Pim 

Tpa«rB»lM 
ToMrBoW 
TeaarbMi 
TopArBoau 



Tlhi Boekomsi 

Wmi' EnoH**nQ 
Wrtl Bfr«k I Miirt 




Irnmaptfii 



Indinapaii 
Evarvrfla 



ftaaaa Ei^pmanl Co. 
Upaeri ComnjarSri' ' 
IraBPHCprrw 

Vwa C«rn(iAr> 



Ovtal evr[u«r| Qai kMno 

l^ni Cair^uHar Ap0i«H!ni LTD Miri n B» IW f v 



UDMaaiCoTvu*'* 
Sorwa«city 

CiwjkJ^ Skxa of tanLnr 

FtaaiarCacna 

FlaaJ^ WsrH) Cwrpjtoi 




Port re 
Evfpra 

Ponant 



AptvOmagaEBE Warran 

Buie CtfnpuiH S)ritWTt» Htnmmga 

Crm»t CaitKr Book CtL VMitChaakr 

CirCM Compubr EpFnfe 

Cvnpum'i i Oamai Randi^ 

Dewmngb'^ CompuSr Cansf Doafvngttn 

EatlCowi So^m* Htrtrwi 

Floppy DA Uochanettug 

Qant^BaPo KlngolPrunli 

Norti Canm Offml Srnvni Oanrttt 

l^ltitiLrghCam;iukrSbni Pimb^gp 



UvnofyUina 
Carnp.Mr King 

^Lltoc 
SprtU 



Craun Cenvuiaf E*i 



■tfeCQ UmCD 

Ucn Utud 
fl flfiaaa Cor^nacson 



OnirtiMPir^ 

LoUowia 



NMHontnnCvn^/BrSinKirfl Aimii(^i«i 
PigaOMhtwtii'x) Aibx^jan^M 

FkaflAi^fMr E^wwa 

Ta e waM Ja ) eprtapn La C/uc^ 



EaiiNartiPor: 
MvYOA 



Aflcarrr tnmrrmt am [ik. 
Uoo Camp/Mr D«|)Bi 
Sotiwaa Dry 
Suriaaaa Ftajal>nc. 
Waiaan^ Jairtary 



CoTT>^br BLaran Cantar 



WlBOi Coumtia 

Sumar 

Chalaatan im. 
C^aatarWtf 

Ita^dCRir 



CflnptAMVAwid 
J.W. Man 
Kabona 
Uncamp 
ArUn 

C«mip« 
Ht«ngiD*M 



□amnaUpa 



Bnnh CeLntaa 

Qig»h CokmtM 

Bm,hCakjTitH 

amhCdUnlM 

Bf^ih Cirt^bia 

Oi-iah CoUnbia 

Uhbh 

HfertbH 



UaKBba 



Canv^a<u>a< iiaii|.ii> 
TTaS^Sna 



AnatrigCvn[uw%a«mi C lW H «t W i 



QoBk Tacn air'autng 
CivoM Conpjvi 
CompcmF r>iicQi#ii 
CORp^VF Ro^n 
EHFtParHnrt C4mMrt 



Cfl^pjtar Tima 

Uaom EkfiMtH W aT i'ia J Wa^J^ 

S0tkr»4 9«i#« LslfraM 

ThiBHSVt .auM 

Tb* C«AVUto C*rK 



MraUta CtejbStora Hanjbnj 

Arrlga Buanoii Carvpuwr Horaift 

Co^^tar OuMt PliVomen 

Fi44|i 04"^ pUWl Pl*i^«|ilit 

Iflt 



C« C«<np k^t atlrt' Sp'tngt 

Confuvwan VlaonCanHF CWvnbH 

tCwiaiaaijawra Bmam« KantHSW* 

LB|rT*l Hwiitand Si»ar Scing 

Ucro Co-rrfuar Carrar [laaiio^ 
SotVaia MvarOga 



HUa^ CompLMr Cansr 
6a<Wwa C«n» Mainc»f« 
Sfli%rvt 4 &jS1 
SefkrarflCitir 
flaiwaraLM 

9mf TacnSviB'^ 
3)rM« Fradng 
Talfvi 



C.EJl. Corpora: en 
Coonoi Vdao 
Canpamt Aqm 
Copqpuar Ag* 
Cam^arUagC 
rirrriiini ii Tamaa 
1rfa> CompiAng tK. 
IMnpoiRwi Cornpuk' 



Sofbawa Ubrar 

Son 
Tta 



Brataria 



Orana 
&^ar>o 



IrttoUtrw* OMae 

Lawa IMaa Oatac 

y^ilor Tnriquo Qjobac 

O Abulon Uapro Oabac 
PitrfajWd in Canaefa br 

Irxr*" 5olCwa Dnr^in Coneem, O^mM 

CwnptJt nnrfeusn Bnvh Csunoa 

• *■ Dai int C*g«y. Aeant 



,IVA 



Fv Tatrtmogr C«tift/w Acoap 

Umfrt Oi^ EQUVmar« te»ata4 IMbm 

LmC«v« 
tjnaw«4>6vir 




HcMVdMT 

Haualon 
wunk Faa 

San Arnaria 



AoaJoFajad t Sana Daman 

Iha f^iugaCartiarorawdin) C-dnfaonuf^ 



Se^avaLv^Aa 



Amazing Computtng™ is afso available In most B. Dalton Booksellers. B. Dalton Software Stores, 

Crown Books, and Software Etc, locations. 



Amiga - Commodore 
Comiiuters Users Sho^t" 



Don't Miss the most Exciting Sliow on 

tlie West Coast Exclusively 

Devoted to the 

Amiga and Commodore Computers* 



Santa Clara Convention Center 
5001 Great American Parkway 
^cxi to Croat America Park) 
Santa Clara, California 
Sat., May 14, '88 10-8 PM 
Sun., May 15, '88 10-5 PM 



OncDayAdm. Exh. Only SIO.OO 

One Day Adm. w/ Lectures S15.00 

Two Day Adm. Exh. Only S15.00 

Two Day Adm. w/ Lectures S25.00 



This Show will Feature: 
Animation & CAD 
Business & Database 
Software 

Desktop Publishing 
Games & Entertainment 
Graphics 
Hard Drives 
There wUi also be two full days 



Memory Expansion 
Music Software 
Programming Languages 
Public Domain Software 
Spreadsheets 
Simulators 

Telecom. & Utilities 
of lectures and seminars 



This show is a marketplace for 

Iiuyers and sellers of 
Amiga - Commodore Computers 

For exhibitor and general information call or write: 

Golden Gale Shows • TO Bin ,S87 • Gjrle Madera, C.-^ M92S • (415) 388-8893 



In order to organize our forms and docu- 
ments, it is often necessary to have three, 
four, five or even six layers of nested 
subdirectories on a disk. As you can 
imagine, v/hen we get down to the 
bottom level of a Workbench directory 
path, screen refreshes can be aggra- 
vatingjy slow. 

If you or one of your readers could come 
up with a Fat Agnes hardware hack for 
the Amiga 1000 that would make it 
possible to install the Fat Agnes chip plus 
additional chip memory in the Amiga 
1000, intensive multitasking on Amiga 
lOOOs could be much quicker (and, 
consequently, more productive and en- 
joyable). 

Find an economically feasible way to do 
this, and you will have the profound 
gratitude of the small army of Amiga 
1000 pioneers who otherwise would be 
denied access to Fat Agnes's charms. 

Sincerely yours, 
R. Gary Wainwright, Attorney at Law 

Georgia 
lam not certain your request can be handled, 
due to either electronic limitations or legal 
copyright entanglements with Commodore. 



However, it is an excellent suggestion. AC 
prides itself on the quality and caliber of its 
readership, I am certain some bright Amiga 
enthusiast has already considered the 
problem or arrived at a solution. 

Dear Amazing Computing, 

I would like to bring to your attention 
the fact that we have started a new 
Amiga Users Group called Northern 
California Amiga Club. We are located 
in the Redding area and anyone is 
invited to join, especially those Amiga 
fans in Northern California. 

We meet on the second Saturday of each 
month from 2 to 5pm at Rico's Pizza 
Parlor at 200 Hartnell Ave. in Redding, 
CA. 

Sincerely, 

David L. Murphy, President 

Northern California Amiga Club 

P.O. Box 54 

Bella Vista, CA 96008 

(916) 472-3237 

Dear Amazing Computing 

I wish to thank you for your considera- 
tion of us subscribers. An example of 
this consideration is the protection 
enclosure for each mailed issue. I also 



appreciate that you do not ruin the issues 
even before they are mailed by gluing 
announcements on the cover like some 
others do. The addition of color is a 
further enhancement to your excellent 
magazine. Keep up the good work. 

Sincerely, 
Karen Parker 
Oregon 
Thank you for the kind words. It took some 
time to find a printer who could provide the 
polybag mail protection for our subscribers, 
but it has been worth it. 

Dear Amazing Computing 

A message to Peter Kinross (Letters V3.2). 
Until today I would have agreed with 
you - 1 also spent 1/2 hour in the bank, 
and paid an extra $6 for the experience! 

But consider - spending that extra S6 gets 
you Amazing Computing for around SA5 
per issue, delivered (as I discovered 
today) around 14 days after mailing. 
Every month! 

The alternative? Pay $A9.50* at the news 
stand, to get AC 2-3 months after issue - 
when they remember to get your copy in!! 

Sure plastic is convenient, but as a certain 
Alien Life Force would say - 
NO PROBLEM! 

Regards, 

Steve Spink 

Australia 

Thankyou. The prospect of credit card 
payments remain in the future, so the current 
system of US funds from a US bank is still a 
neccessity. 

We are extremely grateful to our dealers in 

Australia who pay a small fortune in air 
freight to bring Amazing Computing to 
Australian Amiga enthusiasts. 



'denotes $9.50 in Australian Dollars 



•AC- 



ATTENTION ALL READERS 
Do you have a suggestion or observa- 
tion? Please write us. Each reader who 
has a printed letter with a suggestion, 
question, helpful technique or other 
useful information to help the Amiga 
comnnunity, will receive a certificate for 
five Public Domain Software disks and 
the gratitude of Amazing Computing 
and its readers. 

Please send your letters lo: 

Dear Amazing Computing, 
P.O. Box 869 

Fall River, MA 02722 



Amazing Computing V3.4 ©1988 



C who's winning the race. 
Lattice C for Amiga. 



r. — ' - -^ 



fwA.MIGA 



Lattice 

C Compiler 









Littice C has long been recognized as the best C com- 
piler. And now our new version 4.0 for Amiga™ in- 
creases our lead past the competition even further. 

Ready, set, go. The new Lattice AmigaDOS C Com- 
piler gives you faster, more efficient code generation 
and support for 16 or 32 -bit integers. There's direct, 
in-line interface to all Amiga ROM functions with 
parameters passed in registers. XX'hat's more, the 
assembler is fulh' compatible with Amiga assembler 
syntax. 

More great strides. The linker, Blink, has been 
significantly enhanced and provides true overlay 
support and interactive 



Lattice* Version 4.0 



Dhrystone 
Float 



Savage 
(IEEE) 



l2yH Dhrystonesfeecond 

22.20 Sees. (lEKE Formal I 
l(l.K)Sccs.(FFP Formal) 

•17.67 Secs./.OOO0OO3l8 

.Vtcuracv 



rect)very from undefined 
symbols. And you'll have 
a faster compile and link 
cycle with support for 
pre-linking. 

There's no contest. 

Standard benchmark 
studies show Lattice to be 
the superior C language development environment. 
With stats like these, it's nc5 wonder that Commodore- 
Amiga has selected Lattice C as the official Amiga 
development language. 

Liiricc ti 3 rcRKictriJ (QiJcfnark ot Lsutcc Incorpumrd AmijtJ u j ttadcnufk uf <:!iinini(Kli>rc .Aini^. IrK 
Mank a i icRmctcd intlcnurk of iAinx Sofiw-jrc S^nicmt, Inc 



Going the distance. '^Ou'il experience unsur- 
passed power and flexibility when you choose from 
several cost-effective de\'elopment packages. There 
is e\'en a full range of suppt)rting products, including 
a symbolic debugger, resource editor, utilities and 
specialized libraries. 

You'll discover that your software purchase is backed 
by an excellent warranty and skilled technical sup- 
port staff You'll appreciate ha\'ing access to LBBS — 
one of the world's first 9600 baud, 24-hour bulletin 
board services. And you'll be able to conference with 
other Lattice users through the Byte Information 

F.xchange (BIX) network. 

Cross the finish line. 

Order your copy of the 
Lattice AmigaDOS C 
Compiler today. We'll 
supply the speed. You 
bring the running shoes. 



Manx* Version 3.40 



1010 Dhrystones^econd 

W.H'^ Sees. (IF.EE Format! 
r.CiO Sees. (FFP Formal) 

n9.6Secs./.000109 

Accuracv 



Lattice 

Subsidiary- ofSAS In.siitutc inc. 



I.;iukf, Incorporiitctl 
2S(10 S. llij-hland Avcnuf 
iDiiibard, IL 60148 
Flione: 800/535-35"^7 
In lIlinoi.s: 312/916-1600 



COMMODORE 

AMIG 




HIGHLIGHTS 



^1 he second AmiExpo took place 
.^M- January 16 - 18 at the Los 
Angeles Westin Bonaventure. N(:)body 
was really sure what to expect ftum 
this show; the New York AmiEx{x>, 
held in October, was reasonably 
successful, but rumors pointed to a 
low turnout for the L A event. 

I guess that shows how much you can 
trust the rumor mill — AmiExpo L.A. 
was a madhouse. Organizers esti- 
mated that over 10,000 people turned 
out for at least one day. 



Everyone who is anyone in Amiga 
circles was there, and it was nice to be 
able to put some faces with the names: 
Judy Blair and Kevin Sullivan, the duo 
responsible for the dazzling EI Gato 
animation; Amiga pioneers Dale Luck, 
Bob "Kodiak" Burns and Jay Miner; 
screen hack wizard Leo Schwab in his 
trademark cape; Jeff Bruette of Max 
Headroom fame {plus NewTek's 
Maxine Headroom); Chet Solace, the 
man behind the comprehensive Amiga 
BBS listing. The Final List; public 
domain disk legend Fred Fish; and 



BAEX2E Killer Demo winner Joel 
Hagen. Commodore also sent a fuU 
contingent of technical support and 
top management personnel to mingle. 



Kicketart/Workbench 1.3 

From several informal interviews with 
Commodore technical staff, I was able 
to piece together a look at operating 
system version 1.3, Kickstart 1.3 and 
Workbench 1.3 vrill be packaged 
together on disk, similar to the 1.2 
Enhancer package. AlOOO ovmers will 
be able to use the new Kickstart and 
Workbench immediately; 500 and 2000 
owners will need ROM upgrades to 
use Kickstart 1.3 enhancements. Many 
500 and 2000 owners will not need to 
upgrade their ROMs immediately, as 
Workbench 1.3 is compatible with the 
revision 1.2 Kickstart currently in 
ROM, and offers benefits by itself. 

Kickstart 1.3 contains enhancements 
such as the ability to boot the system 
from a hard disk. The bad news is, no 
existing Amiga hard disk controller 
(Commodore or third-party) has the 
firmware to take advantage of this 
feature. Retrofitting a "fix" on existing 
boards may be, for all practical 
purposes, impossible. A new hard 
drive controller, designated the 2090-A, 
is nearing completion at Commodore. 

Kickstart 1.3 has also been engineered 
for a new generation of "smart" 
peripherals; when the system is 
booted, the operating system polls all 
devices for a "diagnostic vector." This 



Amazing Computing V3A ©1988 



FROM THE 1988 LOS ANGELES 



AMI EXPO 



TM 



By Steve Hull GEnie: LightRaider People Link: St.Ephen 



vector points to an address on the 
expansion device; if found, the 
operating system calls the initialization 
routine on the device. This autocon- 
figuration will eventually replace the 
AmigaDOS "binddrivers" command. 

Workbench 1.3's enhancements include 
a new, faster IEEE double-precision 
math library. The current IEEE library 
is so slow, it is seldom used; the 
routines contained in Workbench 1.3 
speed up IEEE operations by 200%. 
68020/68881 machines will perform 
these operations up to 20 times faster. 

Workbench 1.3 adds the long-awaited 
and misunderstood fast file system, an 
enhancement intended for use exclu- 
sively with hard drives. The fast file 
system requires special formatting, and 
increases access time up to 300%. 

Workbench 1.3 also includes a new, 
whiz-bang printer device to increase 
printing speed on graphics up to 1000 
percent, depending upon the printer 
model. New drivers have also been 
added, including support for the 
Calcomp Colormaster, Epson LQ 
series, and HP Deskjet, and PaintJet. 

Other rumored enhancements, such as 
Colorfonts, look like they'll have to 
wait for version 1.4, which is shaping 
up to be a major revision. Estimated 
availability? Commodore isn't even 
willing to go on the record about 1,3, 
which insiders predict will be released 
this summer. Don't look for 1.4 much 
sooner than next year. Now, on with 
the show! 



Exhibit Highlights 

Tlie first thing most people saw as 
they entered the crowded hall was 
Microillusions' massive display — it 
took up half a wall! The display was 
sectioned into desktop video, educa- 
tion, music, games, and creativity 
applications, fronted by a large Meade 
telescope promoting the new Planetar- 
ium astronomy package. The tele- 
scope was no prop; Microillusions is 
currently working on software to 
interface the telescope's drive motors 
with the Amiga. Want to take a look 
at the Ring Nebula? Locate it on the 
computer screen and the telescope 
tracks it in the sky. Planetarium 
retails for S69.95 and is available now; 
availability of the telescope interfacing 
software is expected in the third 
quarter, though Microillusions has not 
decided how it will be marketed. 

Microillusions has a sizeable invest- 
ment in Amiga games, and their latest 
titles were on display: Land of 
Legends, a dungeon adventure; 
Ebonstar, an outer space game featur- 
ing a black hole that literally bends the 
fabric of space around it; Blackjack 
Academy; and their second One-To- 
One title. Galactic Invasion. 

Perhaps the most fascinating product 
demonstrated in the Microillusions 
booth was Photon Paint, a graphics 
program that can best be described as 
a combination of Digi-Paint and 
Deluxe Paint 11, with a dash of Sculpt- 
3D thrown in. Photon Paint supports 
standard "paint" features in any 



Amiga graphics mode, including the 
4096-color Hold And Modify. In 
addition, it adds such sophisticated 
features as surface mapping and light- 
source generation. Surface mapping 
allows you to take an image and 
"wrap" it around a geometric shape. 
In a demonstration, the artist digitized 
a slab of black marble, then wrapped 
the image around two cylinders. Add 
a light source to create spectral 
reflections and depth, and Txiila — two 
ancient temple columns. I saw this 
effect demonstrated at last year's 
National Association of Broadcaster's 
convention on a 5100,000 Wavefront 
machine, and the Photon Paint graphic 
was comparable. Photon Paint retails 
for $99 and is available now. 

Photon Paint is one module of a 
system which comes under the 
umbrella of Photon Video; other 
modules include a fully-featiired cell 
animator, 3-D editing and rendering 
modules, and transport controller 
software to interface Amiga graphic 
programs, such as Aegis Videoscape 
3D, with industry standard edit 
controllers. All modules support 
SMPTE time code through 
Microillusion's Micro SMPTE reader. 
Whew, it gets a little dizzying — our 
little Ami is growing up fast. 

Aegis Development took both sides of 
one row in the hall, and as always, 
their display was a feast for the eyes 
and ears. A large-screen TV showed 
the kinds of audio and video work 
possible with Aegis products. The 



Amazing Computing V3 A ©1988 




AmiExpo attendee tries his hand at interaclwe video with 
Very Vivid'g Mandtda. 



him so heavily. Sachs is now consid- 
ering his next move; a 3-D port of his 
Commodore-64 game. Saucer Attack, 
seems likely. 

John Foust picked a prime spot 
between the Aegis and Byte-by-Byte 
booths to promote Interchange, a 
utility allowing users to share anima- 
tion objects between Aegis' Videoscape 
3D and Byte-by-Byte's Sculpt 3D. 
Foust's company. Syndesis, also sells 
an Interchange module that handles 
objects from Forms in Flight. Syndesis 
also offers an Object Disk packed with 
various animation objects from Sculpt 
and Videoscape and a full alphabet of 
flat letters that can be extruded into 3- 
D block letters. The Interchange main 
module retails for S49.95; the Forms In 
Right module and Objects Disk #1 
retail for SI 9.95 each. 



tape was exciting because it demon- 
strated that for Aegis, a company that 
has paid some heavy dues over the 
past few years, desktop video is nsally 
coming together. High-quality videos 
were demonstrated in which the 
animation, titling, soundtrack and 
sound effects were done exclusively 
with Aegis products. 

An upgrade to Videoscape 3D was 
announced, featuring transparency, 
reflection, and HAM support. Two 
new polygon types — 'light" and 
"dark" — may be used to simulate the 
effects of light sources and shadows, 
respectively. The upgrade uses a 
pseudo ray-tracing technique, which is 
not as accurate as true ray tracing, but 
the upgrade doesn't take all night to 
plot one frame, either. Videoscape 3D 
version 2.0 should be available this 
summer for SI99.95, with upgrades 
available to Videoscape owners foi' $10. 

Since its initial release, Videoscapci's 
biggest liability has been the effor: it 
took to define objects — a process that 
required graph paper to plot the 
shapes. Dedicated Videoscape artists 
(and those who have shied from tKe 
program because of this difficulty) will 



welcome the release of Modeler 3D, a 
stand-alone product that has the look 
and feel of a computer-aided design 
program in three dimensions. Don't 
expect to see the product right away, 
though; Modeler 3D only recently 
entered beta testing. 

The biggest draw at the Aegis booth 
was their newly released shipping 
simulation. Ports of Call. Authors 
Martin Ulrich and Rolf Deiter-Klein 
spent two years researching all facets 
of world shipping right down to the 
canal fees, and it all shows in the 
game. Add superb graphics by Jim 
Sachs (Defender of the Crown) and 
Dick LaBarre, and Aegis just may have 
a classic on their hands. 

Sachs spent a good deal of time at the 
Aegis booth, answering questions and 
talking with the crowd. Unfortu- 
nately, he recently lost two months' 
programming on an Amiga adaptation 
of 20,000 Leagues Under the Sea to the 
SCA virus. The game is now on an 
indefinite hold. Considering Jim 
Sachs' generosity in sharing his time 
and talents with aspiring Amiga artists 
and programmers, it doesn't seem 
right that some amateur prank cost 



The most wacko booth — hands 
down— was manned by Comp-U-Save, 
a public domain disk and accessories 
retailer from New York. Dangling 
from a wire across the front of the 
booth were attention getters like a 
large rubber tarantula, labelled 'True 
Multi-Tasking," and a shrunken head 
with the legend "Former Atari ST 
User." Comp-U-Save's outrageous 
approach — salesman Eric Miller 
sported a huge rubber cockroach on 
his shoulder and a button charging, 
'TAKE NO SURVrVORS!"^appears to 
have been lucrative, if nothing else. 
The booth moved 90 cartons of 
merchandise over three days. 

Computer System Associates of San 
Diego, California had a booth filled 
with high-tech, high-ticket toys about 
which most of the Expo crowd could 
only dream. Among the highlights: 
the Over 030 board, which piggybacks 
on CSA's 68020 board, allowing 
configuration of a 68030/68882 CPU/ 
Coprocessor. The Over 030 goes for 
$495 bare board. You don't even want 
to know what a 68030 is going for 
these days. (OK, it goes for $690. I 
told you you didn't want to know.) 
CSA also showed 68020/68881/2 



10 



Amazing Computing V3. 4 ©1988 



boards for every model in the Amiga 
line; perhaps the standout is the 
configuration for the Amiga 2000, 
which allows CPU speeds of up to 
14Mhz, with the co-processor scream- 
ing along at 25Mhz. According to 
CSA , an Amiga configured in that 
fashion will outrun the Sun 31160 and 
the VAX 8800 workstations. Finally, 
for mass storage freaks, CSA intro- 
duced WORM-880, a Wrile-Once-Read- 
Many-Times optical disk drive with a 
capacity of 880 megabytes, shipping 
now, for the bargain price of $5995. 

To the right of the Amazing Computing 
booth, Dr T's Music Software pro- 
vided a rhythmic soundtrack with 
their MIDI sequencer and patch editor. 
The multitasking sequencer can handle 
48 tracks, with 36 on screen at any 
time. I'm no musician, but I was 
astonished at how easy it was to put 
together multi-layered, studio quality 
tracks. Also announced for summer; 
The Copyist, a program to print high 
quality sheet music. Look for reviews 
of Dr T's software by Richard Rae 
upcoming in Amazing Computing. 

Notably more cacophonous soimds 
were coming from our neighbor to the 
left of the Amazing Computing booth. 
Constellation Software. Constellation 
showed off an impressive collection of 
arcade games, including Emerald 
Mines (a souped-up version of 
Boulderdash), Space Battle (an appeal- 
ing contest for Asteroids fanatics), and 
Fortress Underground, a game that 
features the unlikely scenario of a 
helicopter exploring a giant under- 
ground cavern that covers 640 screens! 
One of the biggest draws was a pre- 
release version of a game called Larrie, 
an entertaining original chase game. 
The packaging doesn't look like much, 
but game was played constantly 
throughout the Expo. 

Very Vivid Incorporated invited Expo 
attendees to "get physical" with an 
Amiga connected to a video camera. 
Their product, Mandala, interactively 
integrates video signals with Amiga 
graphics in real time. The effect is a 
bit astounding; a person stands against 




Video Toaster, a video processing netecomer, 
made the NetcTek booth an Expo hotspot. 



a flat background, while he appears on 
the monitor inside a scene surrounded 
by musical instruments. When the 
person's "video" hand strikes the 
drum in the picture, the drum 
sounds — very strange to watch. My 
favorite demo pictured a slowly 
flapping bird that screeched and 
struggled when caught. Mandala is 
available now for S395. 

Gold Disk was on hand demonstrat- 
ing Professional Page, the state-of-the- 
art successor to their desktop publish- 
ing program, Pagesetter. Professional 
Page offers access to all Amiga 
graphics modes, up to 1008 x 1008 
screen resolution, in all colors, includ- 
ing Hold And Modify. Professional 
Page currently outputs only to Post- 
script devices, but an upgrade is in the 
works to allow use of any Preferences 
printer. This upgrade — supplied at no 
charge to registered Professional Page 
owners — will also include routines to 
perform full-page color separations. 
Also announced, but not demon- 
strated, was an interface to work with 
NewTek's Digi-View video digitizer. 
Professional Page is available now for 
$395, with upgrades to registered 
Pagesetter owners available for S266. 



On the lighter side. Gold Disk showed 
Comic Setter, a package that will allow 
aspiring Stan Lees to crank out full- 
color comics on their Amigas. Comic 
Setter comes writh cartoon clip art, 
with three additional comic art disks 
to come. Comic Setter should already 
be available for S99.95. 

Spirit Technology showed Inboard 
internal memory expansions for each 
member of the Amiga line; 1 .5 mega- 
byte boards for the Amiga 500 and 
1000 were on display. Bare-board 
prices begin at $279 for the Amiga 500, 
and $299 for the AlOOO. Additionally, 
2 and 8 meg boards for the 2000 were 
announced, but no price was given. 

Brown-Wagh Software fielded a large 
booth with demos and mini-seminars 
running constantly. Brown-Wagh is a 
marketer, not a true software design 
house, and has been scouring the 
Amiga scene for promising products. 
Among their recent acquisitions are 
Softwood Software's File Ilsg (the third 
generation of MiAmiga file, adding 
support for sound and graphics fields), 
and Softwood Write and File, a 
program integrating a friendly data- 
base similar to Filell with a what-you- 
see-is-what-you-get word processor. 



Amazing Computing V3. 4 ©1988 



11 



Brown-Wagh's most discussed title 
was not on display at the booth; 
Excellence!, Micro Systems Software's 
reputed word processing giant killer, 
is due in March. Everyone should 
then be able to see for themselves. 
Brown-Wagh also displayed TV Show, 
a special-effects slide show for use 
with IFF images and fonts. 

NewTek's booth was, as always, big 

and flashy. An upgrade to Digi-Paint, 
their Hold And Modify drawing 
program, was announced for summer 
release. Digi-Paint II adds support of 
1024 X 1024 super bitmaps, automatic 
anti-aliasing for all fonts, 3-D image 
mapping, full overscan, and dithering 
modes that simulate up to 100,000 
colors on screen simultaneously. 
NewTek promised upgrades to 
registered Digi-Paint users for $10-20. 

NewTek also demonstrated their Video 
Toaster, easily the most impressive 
video processing product of the show. 
It's anyone's guess why NewTek calls 
this hardware/software combination a 
'Toaster" — it's closer to a "Cuisinart," 
with its ability to flip, spin, freeze, and 
"pixelize" video images with a refresh 
rate of 60 frames per second. Besides 
video effects, the Toaster includes a 
broadcast-quality genlock and frame 
capture. According to NewTek, its 
buffering also allows compatible 
software to run in literally millions of 
colors. The Video Toaster will be 
available this summer for about SIOOO. 
It may sound pricey, but the next- 
lowest priced hardware which offers 
similar effects is about S49,000 more. 

Soft Logik Corporation offered a first 
look at Publishing Partner Professional, 
their entry in Amiga desktop publish- 
ing. Soft Logik has traditionally 
produced software for the Atari ST, 
but they claim the Amiga version of 
PPP offers significantly greater 
capability. Among the features are 
.0036" resolution text and graphics, 
support for Postscript, HP Laserjet and 



color PaintJet, built-in word processing, 
a spelling checker, auto-hyphenation 
and drawing — and they're saying it'll 
run on a 51 2K machine. Soft Logik 
also showed print samples done both 
in Postscript and by their Postscript- 
work-alike for dot matrix printers. 
The dot matrix quality was very im- 
pressive. It wiU list for about S199.95. 

WordPerfect Corporation showed off 
their soon-to-be-released WordPerfect 
Library, a package of productivity 
utilities. Included are: a Notebook, 
Financial/Scientific Programmer's 
Calculator, Planning Calendar, File 
Manager, and Program Editor. Also, 
representatives say a macro editor is 
"top priority" once Library is released. 
Also in the works: the spreadsheet 
Plan Perfect, and public domain 
utilities to convert files from WordPer- 
fect version 4.2 to 4.1, as well as from 
Scribble!, Textcraft, and other formats. 

Representatives were less encouraging 
about the Amiga port of WordPerfect 
5.0, the true WYSIWYG (what you see 
is what you get) MS-DOS version 
integrates support of color, multiple 
fonts and graphic images. Version 5.0 
is so sophisticated that some WPCorp 
developers fear it may require a hard 
drive — a factor that could seriously 
limit sales until prices for Amiga hard 
drives fall to a reasonable level. 
Nonetheless, WPCorp planners have 
decided to leapfrog over version 4.2 
and put an immediate priority on 5.0. 
The term "priority" here is strictly 
relative; conservative estimates place 
an Amiga version of WordPerfect 5.0 
at least one and a half years away. 

WordPerfect's enormous success in the 
Amiga market has not gone unnoticed; 
scouts from Ashton-Tate (Dbase 111 
Plus) were seen patrolling the exhibit 
hall. I tried prying information out of 
one of them with little success: "Why 
are you here?" "No comment — 
hahahaha." "Would it be accurate to 
say that WordPerfect's success has 



generated interest in the Amiga at 
your company?" "Hahaha." "Might 
Ashton-Tate be preparing to give 
dbMan a run for its money?" Answer: 
Huge grin, take it for what it's worth. 

Hypertek was at the show, selling 
copies of GOMF 2.0. Anyone who has 
used the shareware 1.0 version of 
GOMF (Get Out of My Face) knows 
the program does a decent job of 
trapping GURU errors, allowing users 
to kill the offending task without 
rebooting. GOMF 2.0 handles all 
errors with the exception of a full 
system freeze. It's available for S34.95. 

R&DL Productions displayed profes- 
sional-quality digitizing pads for 
computer-aided design and graphics 
programs. AProDraw 12 x 12 bundles 
a 12" X 12" Summagraphics MM1201 
pad and stylus with Amiga software 
drivers for $549. AProCAD adds a 
cursor puck at $599. Less expensive 
9" X 6" pads were also on display. 

Inner Connection Incorporated offered 
one of the more interesting hardware 
items of the show: A 20 megabyte 
Bernoulli drive for the Amiga 1000 
and 2000. For those not familiar with 
Bernoulli technology, the product is 
basically a removable hard disk. The 
disk itself is hermetically sealed within 
a rugged cartridge. The cartridge can 
then be plugged into the drive unit as 
needed. Theoretically, you could have 
a bookshelf full of 20Mb storage 
cartridges. Initial cost is high — ^$1795 
to start for the Amiga 1000 model 
($100 less for the A2000), but consider- 
ing additional 20Mb cartridges are 
currently going for $99, cost-per-byte 
becomes reasonable on systems 
requiring large amounts of storage. 

Interactive Software, producers of the 
Calligrapher Colorfonts package, 
announced a stand-alone program. 
Font Mover which fully "Amigatizes" 
the tedious and error-prone task of 



12 



Amazing Computing V3.4 ©1988 



transferring fonts between disks. 
Besides moving fonts, it will display 
fonts in any resolution in 2-16 colors, 
and "fix" font files. Font Mover sells 
for S29.95 and is available now. 

Interactive also showed off two new 
font disks suitable for use with any 
Amiga application: They are Newslet- 
ter fonts and Studio fonts, the latter 
intended for graphics and video 
production. I also got a peek of their 
upcoming "Stained Glass" fonts — a 16- 
color font as beautiful as it sounds. 

Hash Enterprises, producer of 
Animation:Apprentice, demonstrated 
two new animation programs to be 
used vrith Apprentice and other 
graphics programs. AnimationiSland 
performs zooms and pans on any 
resolution IFF image, recording 
animation files using a differential 
compression method similar to Aegis' 
ANIM format. Interestingly, the 
program "fills in" shapes as it zooms 
in, keeping images from appearing 
blocky at high magnifications. Hash 
also showed Animation:Effects, which 
performs spins and flips on images — 
sort of a poor man's ADO. At the 
booth, a videotape ran shovnng Effects 
performing spins with perspective and 
specular highlights on a Colorfont 
logo. Animation:Stand and Effects 
retail for $49 each. 

RGB Video Creations, producers of 
Deluxe Help for Deluxe Paint, intro- 
duced Deluxe Help for Digi-Paint and 
announced forthcoming instructional 
products for Calligrapher, Photon 
Paint and Pagesetter. The Deluxe 
Help programs take advantage of the 
Amiga's multitasking talents to lead 
users on a computer-aided tutorial; it's 
the ultimate learning tool for people 
who hate manuals. "We take the 
intimidation out of software," ex- 
plained one of the RGB reps. "In 4-5 
hours you can become a power user." 
Deluxe Help for Digi-Paint retails for 
$34.95 and is available now. 




WordPerfect demonstrated their highly acclaimed 

word processing package and a netc package of 

productivity utilities. 



Overall, the Los Angeles Ami Expo 
showed how the state of Amiga 
support — both in quality and quan- 
tity — has skyrocketed in the past year. 
There is enough competition in every 
major application area so that second 
and third generation programs are 
appearing, each trying to better its 



rivals. The winners, of course, are the 
users. Here's looking for bigger and 
better, at Chicago Ami Expo in July! 



•AC- 



(A listing of AmiExpo exhibitors is on 
page 14.) 




Microillusions sported their latest game titles, as toell as displays 
on desktop video, education, music and creativity. 



Amazing Computing V3.4 ©1988 



13 



■* ^■tA«Jt*Xv;>Xrti>«t«»K'»K-: :■ 



^>>>>>«?W¥^ft¥;'ft¥ft¥!¥:¥?W^-';^':';^ 



Exhibitors at Los Angoles AmiExpo 



Constellation Software 
17 Saint Mary's Court 
Brookline, MA 02146 
(617)731-8187 

Hypertek/Siiicon Springs 
120-1140 Austin Avenue 
Goqjitlam, BC Canada V3K 3P5 
(604) 939-8235 

R & DL Productions 
11-24 46th Avenue 
LIC,NY11101 
(718) 3924090 

A-Squared Distributions 
6114 LaSalle Avenue. Ste. 326 
Oakland, CA. 94611 
(415)333^)339 

A.)t Pfodudions 

9276 Adelphi Road, Sle. 102 

Adslptli. MD 20783 

(301)439-1151 

Abacus Software 
Dept.L1-5370 52ndSt.SE 
Grand Rapids, Ml 49508 
(616)698-0330 

Accolade 

20323 Stevens Creek Blvd. #0-1 A 

Cupertino, CA 95014 

(408)446-5757 

Aegis Development 
2115 Pico Boulevard 
Santa Monica, CA 90405 
(213)392-9972 

Ascilec 

Amiga Science & Technology User's 

Group 

141 Del Medio Avenue, Ste. 210 

Mountain View, CA 94040 

(415)9494864 

Amuse 

New York Amiga Users, !no. 

151 1st Avenue, Ste. 182 

New York, NY 10003 

{212)460-8067 

ASDG, Inc. 
925 Stewart Street 
Madison, Wl 53713 
{608)273-6585 

Brown- Wagh Pul>lishing 
16975UritAvenue, Ste. 210 
Los Gatos.CA 95030 
{408)395-3838 



Byte by Byte Corp. 

9442 Capitol of Texas Hwy. North. 150 

Austin, TX 78759 

(512)3434357 



Central Coast Software 
2SS Bowie Drive 
Los Osos. CA 93402 
{805)5284906 

Ccmmodore Amiga User Intemationaf 
40 Bowling Green Lane 
London, England CI R One 
(001)278-0333 

Ocmp-U-Save , 
41 4 Maple Avenue 
Wijstbury, NY 11 590 
(5-6)997-6707 

Computer System AssodaSes 
7534 Trade Street 
San Diego, CA 92121 
(6-9)566-3911 

Cr>3ativa Computers 
31 3 Wilshire Boulevard 
Santa Monica, CA 90401 
(2-3)394-7779 (800)872-8882 

Oii]!lal Creations 

1333 Howe Avenue, Ste. 28 

Sacramento, CA 95825 

(9-6)3444825 

Digital Dynamics 
6740 Skyview Way, Unit C 
Agora Hills, CA 91 301 
(8-. 8)706-8214 

Di&covery Software International, INC. 
163 Conduit Street 
Annapolis, MD 21401 
(301)268-9878 

Dr T's Music Software, inc. 
22D Boylston Street, Ste 306 
Chestnut Hill, MA 02167 
{6-7)244-6954 

Finally Software, Inc. 

2255 Ygnecto Valley Road, Ste. N 

Walnut Creek, CA 94598 

(4-5)564-5903 

Fuller Computer Systems 
P.O. Box 9222 
Mesa, AZ 85204-0430 
(602)835-5018 

Gcid Disk, inc. 

21 71 Dunwin Drive, Unit 13 

MioSissauga, Ontario L51 1X2 

(4-6)828-0913 

Hash Enterprises 

2800 East Evergreen Boulevard 

Vancouver, WA 98661 

(206)693-7443 

Infinity Software, Inc. 
1144 65thStraal,SlB. C 
Emeryville, CA 94608 
(415)420-1551 



Inner Connection Inc. 
12310 Brandywinefld. 
Brandywine.MD 20613 

Innovision Technotogy 
26319 Whitman Street, #136; 
Hayward, CA 94544 
(415)538-8355 

Interactive Softworks 
2092 Avenue of the Trees 
Carlsbad, C A 92008 : 
(619)729-3963 

Manx Software Systems 
P.O. Box 55 
Shrewsbury. NJ 07701 
(201)542-2750 

Micro! ilusions 
17408 Chatsworth Si 
Granada Hill. CA 91344 
(818)360-3715 

MicroTimes 

N. Highland Street, Ste. 220 

Hollywood, CA 90028 

(213)467-7878 

Micron Technology, Inc. 
2805 E. Columbia Rd. 
Boise, ID 83706 
(208)386-3800 

Mindware International 

110 Dunlop Street West, Box 22158 

Barrie, Ontario Canada L4M 5R3 

(705)737-5998 

New Horizons Software, Inc. 
P.O. Box 43167 
Austin. TX 78745 
(512)328-6650 

MewTek 

115 W.Crane Street 

Topeka, KS 65606 

(913)354-1146 

New Wave Soltware 

P.O. Box 438 

SL Clair Shores, Ml 48080 

(313)7714465 

Oxxi, Inc. 

3430 Faicon Avenue : 

Long Beach, CA 90807 

(213)427-1227 

PAR Software, inc. 
P.O. Box 1089 
Vancouver. WA 98666 
(206)695-1368 

Prolific Inc. 

1808 W.SouIhgata Avenue 

Fullerton, CA 92633 

(714)447-8792 



ReadySoft Inc. 

25 Red Oak Drive 
Richmond Hit!, Ontario 
Canada L4C 4X9 

RG.8 Video Creations 

2574 PGA Boulevard 

Palm Beach Gardens, FL 33410 

(305)622-0138 BBS (305)622-7049 

Sedona Software 

1 1828 Rancho Bernardo Road, #123-20 

San Diego, CA 92128 

(619)451-0151 

Soft Ijogik Corp. 

11131 South Towns Square, Ste. F 

St. Louis, MO 63123 

(314)894-8608 

Software Visions, Inc. 

26 Forest Road 
Framingham, MA. 01701 
(617)877.1266 (800)527-7014 

Spirit Technology Corp. 
220 W. 2950 South 
Sal! Lake City. UT 841 15 
(801)4854233 

Supra Corporation 
1133 Commercial Way 
Albany, OR 97321 
(503)967-9075 

Syndesis 

20 West Street 

Wilmington, MA 01 887 

(617)657-5585 

The Other Guys 

55 N. Main Street, Ste. 301 D, Box H 

Logan, UT 84321 

(801)753-7620 

Topdown Development 
P.O. Box 1692 
Champlain, NY 12919-1692 
(514)341-2946 

. WordPerfect Corp. 
256 West Center 
Orem, UT 84057 
(801)2274010 

Brookfield Communications 
3820 Griffith View Drive 
Los Angeles, CA 90039 
(213)668-0030 

Vesy Vivid 

1499 Queen Street West, Suite 302 

Tonjnlo. Ontario Canada M6R1A3 

(416)537-7222 



U Amazing Computing V5. 4 ©1988 




.•#"'" 



teAc 



^n Adventures 



^ 




^H^H 








R^ 


it 


ft 


4'^ 


■J^ 








[^ 




1 ">, 


%.^ 


^^\ 






' Ui 


^H|^^' 




* ^ 


\. -w 


/ 






r^ 


.M 


r^ 


^y 


"■ *^ 


^^^^^ 


w 


*w 


J 




m 




See your Dealer or 

call 1-800 84^ 
In Illinois (312) 8i 



VISA/Master Card ^, 




>!S 



j;^. 



MaKe Your Day! 

Now you can shoot the bad guys with this real-timer 
action shoot-'em-up adventure. Just connect the 
Actionware PHASER'" to the game port (or use your 
mouse) and you're ready to combat evil in an exciting 
action packed world! 

It's your choice . . . CAPONE^'' gangsters in Chicago, 
P.O.W.™ enemies in Asia, CREATURE^" aliens aboard 
your spaceship. 

Each Action Adventure only $39.95 
Actionware PHASER (optional) $49.95 




Actionware Corporation 



38 W 255 Deerpath Road Batavia, Illinois 60510 

AVAIUBLE ONLY FOR THE AMIGA WHICH IS A TRADEMARK OF COMMODORE-AMIGA 



Take Five! 



By Steve HuU 

GEniet UGHTRAIDER 

People Link: St.Ephen 



In last month's column I 
mentioned that Gold runner 
and certain Amiga 2000s do 
not get along. Since then, I 
have discovered Goldrunner 
is not alone — there are 
several programs out there 
that don't work well (or at 
all) with the first Amiga 
2000s released. 

The problem lies vdth the 
German-manufactured 
keyboard packed with the 
first A2000S. This key- 
board — identifiable by its 
small, square function keys — 
uses a different processor 
than the American keyboard. 
Its timing, while within the 
specs outlined in the Amiga 
hardware manuals, is 
different enough to trip up 
programs that try to get 
around the Amiga keyboard 
device and go straight to the 
registers. 



The official company Une at 

Commodore: the hardware's 

fine — "the problems result 

from programmers using 

"illegal" means of reading 

the A2000 keyboard." This 

is not the "will-not-read-the- 

first-keypress-after-startup" 

bug, which Commodore has ackncwl 

edged. No liardware trade-ins are 

being discussed. 




Superstar indoor Sports Darts 




Gee Bee Air Rally 

Also since last month, a nifty little 
cheat has surfaced for use with 
Barbarian. Immediately after you 
PRESS ANY KEY to begin the game, 
type 04-08-59. Voila — ^you're invin- 
cible! Or nearly so. The notorious 



Cap'n Chet Solace reports 
that the method is not 
completely foolproof. But 
don't let me spoil the 
surprise. (Snicker...) 

Oh, and just to tie the 
preceding paragraphs 
together — Barbarian's 
"cheat" mode doesn't 
work on the A2000! 
Whatever happened to 
justice?! 

Let the games begin! 

Traditionally, I have had a 
personal loathing for 
sports games. My first 
experience in the genre 
was with a track-and-field 
simulation on the Atari 
800 that required players 
to jerk the joystick vio- 
lently back and forth at 
great speed to propel their 
screen surrogate down the 
track. After developing 
the kind of wrist cramps 
known only to certain 
Olympic gymnasts, I 
decided the game was far 
too realistic for me — and 
about as much fun as a tax 
audit. 



To lure those who have been similarly 
tumed-off by computer sports games, 
Mindscape has released Superstar 
Indoor Sports, a collection of four 
contests for the more sedentary 

(amtinued^ 



16 Amazing Computing V3 A ©1988 




AT LAST! 

..real-time^ LIVE! video on your 
Amiga's screen. 

• True Color: just as it comes from your video source, camera, VCR, 
TV, anything. Direct, moving, in your Amiga's memory... our patented 

technology. 

• Fast: video images in blaclc & white, 32-color, and 4,096-color HAM. 
See 15 new images every second in black & white, 12 in color, 4 in 
HAM. 

• Save: moving video, play it back, use it in other programs. I'nlimited 
stills, too. 

• Video Effects: real-time mouse-controIed...posterization, fades, color- 
keying, strobes, more. 

• Roll Your Own: programmer's \ideo library, hardware documenta- 
tion, examples in C, Basic. 

• S295. Immediate deliver\'. This is hot. 



To order call toll-free anytime: 

Nationwide: 800-452-4445, ext. 1156 

California: 800-626-9541, ext. 1156 

For more infotynation, contact: 



d 



A-Squared Distributions Inc. 

61 14 La Salle Avenue, Suite 326 

Oakland, California 94611 

415-339-0339 



joystick athlete. Indoor Sports includes 
computerized Bowling, Darts, Air 
Hockey, and Ping-Pong. 

Indoor Sports' Bowling is perhaps the 
trickiest of the four games. A frame 
begins with a side view of the adion; 
the screen player picks up the ball 
from the ball return, then control is 
passed to the player. Four actions are 
required to send the ball on its way: 
positioning the screen player from left 
to right on the alley, 
setting the angle of the 
shot, adjusting for the 
inevitable hook, and 
releasing the ball. The 
screen player ap- 
proaches the foul line as 
soon as you set the shot 
angle; you don't have a 
lot of time to get the 
curve and release right! 
You'll send a few down 
the gutter before you 
figure out how every- 
thing comes together. It 
may help to play a few 
series against the 
computer to see how it 
set up its shots. 



Once the ball is re- 
leased, the view 
switches to the bowlei's 
view of the alley. The 
top of the screen shares 
the most recent frame's 
scores and a medium 
close-up of the player's 
facial expression in 
reaction to his shot. 
(My favorite was a 
magnificent scowl from 
the computer's player 
when it fjiiled to release 
the ball in time, and 
got dragged down the 
lane on its face.) 



Options include the ability to choose 
the weight of the ball, and whether to 
play one game, two games, or a 
regulation three game series. Lane 
slickness is set randomly by the 
computer just to keep things interest- 
ing. 



I got an intriguing insight to the 
accuracy of detail in Indoor Sports' 
Darts game when my wife and I had 
friends over for dinner one night. I 
had been trying out Indoor Sports that 
afternoon, and invited our guests to 
take a look. My friend Charlie is an 
avid darts player, so he had to give it 
a shot. I had been practicing, mind 
you, Charlie approached the game 




Superstar Indoor Sports Bowling 




-TilHT.! li 

'rtil< Mm 'es tkt ijiti of t« sizim m iis shirt). Mitns ^m jiie ie 
wdii mtiiiU tsvtr urf mntes » sitff sia-iivt iMt tte i«t itlu, i 
T^nrniri i hrtinj (iii lith iis mi, ui is hst frti »in in tif ittm-' 



Guild of Thieves 



cold. He smoked me! That night I 
learned — the hard way — the authentic- 
ity of Indoor Sports' Darts game 



Indoor Sports' Darts allows you to 
begin from 701, 501 or 301 points. The 
object of the game is to whittle your 
points down to zero by hitting areas of 
the target, each worth different values. 
Double and triple points can be earned 
by hitting the narrow bands at the 
perimeter and middle of the target. 
The game also allows "double-in" and 
"double-out" options. With "double- 
in" selected, a player must strike the 
thin "doubles" ring before any of his 
throws count. "Double- 
out" requires that your last 
dart land in the "doubles" 
sector to reduce your score 
to exactly zero. For 
instance, if you end up with 
only two points left, you 
must strike the tiny 
"doubles" sector near the 1! 
Yikes. 



To throw the dart, you 
must first set the horizontal 
position of the dart in 
relation to the target, then 
the throw angle, and finally 
the force of the throw. The 
shot then switches to a 
view of a player throwing a 
dart at the target, and 
returns to a close-up of the 
target to show how you 
did. An invisible hand 
updates your score on the 
chalkboard, and play 
continues. 



None of this high-tech 
nonsense fazed ol' good- 
time-Charlie. Once he got 
the hang of the basic play 
mechanics, he applied the 
same strategies used in a 
conventional dart game — 
and they worked! For 
example, at the beginning 
of the game, he immedi- 
ately began aiming his dart at the far 
right edge of the target — easier to 
"double-in" on the sides, he explained. 
And darned if it wasn't. 



18 



Amazing Computing V3A ©1988 



What was the final score, you ask? 
Well ... I forgot (yeah, that's the 
ticket). Let's just say I got a lesson in 
humility that night. 

The first time I tried Indoor Sports' Air 
Hockey simulation, 1 was puzzled to 
hear a gentle whoosh from my 
speakers, stabilizing into a low hiss — 
the sound of the air jets on the board! 
Docs this give you ctny idea about the 
attention to detail in this game? 

The object is to knock the puck past 
your opponent's defense into his goal. 
The puck itself glides effortlessly 
across the table, capable of 32 different 
directions and 40 different speeds. 
The computer opponent is quite 
aggressive, even at the lower-skill 
levels — where its aggression often 
leads to its inadvertently knocking the 
puck into its own goal! But don't get 
cocky; at the higher levels, the com- 
puter player can handle itself. And it 
can more than handle you. 

Several speeds and skill levels are 
available, and you can choose to 
switch sides after every game ... which 
makes more difference than you might 
think. The game ends when one 
player scores 10 points, or time runs 
out. If the score is tied when the 
timer hits zero, the winner is deter- 
mined in sudden-death overtime. 

Indoor Sports' Ping-Pong is eons 
removed from the original Pong 
videogames of yesteryear. The game 
begins from a player's-view. Finely- 
detailed Ping-Pong paddles hover at 
each end of the table, held by invisible 
players. (It's a bit unnerving to see 
the paddles flip to strike the ball, 
rotated by phantom wrists.) 

Like Air Hockey, Indoor Sports' Ping- 
Pong allows players to switch sides 
after each game. The Amiga version 
of Indoor Sports lacks a feature com- 
mon to versions released by Mind- 
scape on other machines: "side-view" 
play mode. Reading between the lines 
of the disclaimers in the documenta- 
tion ("Select SIDE VIEW only when 



you and your opponent are accom- 
plished players ready for a new 
challenge"), I'm not sure we're missing 
much. 

Of all the Indoor Sports games, Ping- 
Pong offers the greatest control of 
player options. By distributing 
"Power Points" over various player 
attributes (such as Reaction Time and 
Endurance), you may "create" players 
with particular strengths and weak- 
nesses as is often done in role-playing 
games. 

Though a thorough simulation, I found 
Indoor Sports' Ping-Pong less engaging 
than the other games. 

Overall, Mindscape has turned out a 

fine, playable package. Besides strict 
attention to the details of each event, 
the Indoor Sports games include the 
little slips and traps that sometimes 
befall the unwary {or the unlucky) in 
real life. For instance, if you release 
the ball too soon on your approach to 
the foul line in Bowling, it hits your 
foot. In Darts, thrown darts occasion- 
ally hit one of the wire circles dividing 
the target, striking with a metallic click 
and falling to the floor. A flubbed 
serve in Ping-Pong sends the ball 
dribbling lamely across the table and 
off the side. 

As 1 said, I'm no great fan of comput- 
erized sports, but Mindscape made me 
a believer. Check out Indoor Sports — 
you won't be disappointed. 



SUPERSTAR INDOOR SPORTS 

Mindscape 

$444 Dundee Road 

Northbrook, IL 60062 

(312) 480-7667 

List price: $49.95 

GraphicB! Good 

Playability; Very good 

Sound: Precise 

Copy protectionf Disk-based 

Overall: Four suprisingly good simula- 
tions — Bowling, Darts, Air Hockey and 
Table Tennis. 1 to 4 players 



SYSFONT 

New fonts for your CLI and 
workbench. 

10 fonts, 5 sizes. 

Fully transparent. 
Compatible with most text 
editors. 

Order now! Only $24.95 
Send check to: 

erawarc 

POBox 10832 
Eugene, OR 97440 

Inquiries welcome! BIX: jbaron 



Back in the formative years of home 
videogaming, Activision made its 
name by pushing more color and 
detail out of the modest Atari VCS 
than anyone thought the machine was 
capable of (Atari showed its corporate 
gratitude by slapping Activision with a 
massive lawsuit, which was settled out 
of court — but that's another story). In 
the years since, Activision has sus- 
tained its reputation by producing a 
string of colorful best-sellers for a 
wide range of computers. 

Such Amiga titles as Hacker and Tass 
Times in Tone Towm show how far 
Activision has come — in many ways — 
since the old ROM-pack days. 
Activision's recent release, Gee Bee Air 
Rally, is in some ways a blend of the 
old and the new. 

For the uninitiated. Gee Bees were 
small, single-seater prop aircraft with 
stubby bodies and short wings, engine 
and fuel tank, that flew air rallies 
throughout the 1930's. In a decade 
when the average winning speed at 
Indianapolis barely squeaked into 
three digits, the Gee Bees' low-flying 
antics at speeds that sometimes topped 
250 miles per hour were as close to 
Warp Factor 1 as anyone had seen 
before. 

(continued) 



Amazing Computing V3A ©1988 



19 



In Gee Bee Air Rally, you gain points 
by completing levels consisting of four 
courses each. The fotirth course of 
each level is a special event; these 
events alternate between a bal- 
loonbusting contest and a slalom race. 
The documentation claims each level is 
progressively more difficult, though 
the increase is subtle, indeed. 

The main game screen consists of your 
view from the Gee Bee's cockpit; the 
top half of the screen looks out the 
canopy; the bottom half shows the 
plane's sparse instrumentation. Don't 
sweat the instruments — this is strictly 
seat-of-the-pants flying. Press the fire 
button and the plane's engine 'k\c\'s 
over with a satisfying sputter (I 
wonder who's lawnmower was 
digitized for that sound effect?) — and 
you're off! 

The main portion of the game is 
basically Pole Position with wings. 
You're racing against other planes, but 
your main adversary is the clock — you 
have a limited time to complete a 
course. Unlike Pole Position, Gee Bee 
takes place in three dimensions, so if 
you can't get around an adverser)', 
you can always attempt to fly over or 
under him, skimming so low that your 
wingtip practically meets its own 
shadow on the turns. Of course, such 
a maneuver has its risks — you're 
allowed a friendly tap or two on 
competing aircraft, but too severe a 
collision forces you to bail out (I 
thought you said we were skimming 
the ground! — Shut up), which can lead 
to any of several amusing scenarios on 
the ground. 

The slalom event is basically a vari- 
ation on a common theme: fly an "S" 
course between different-colored 
pylons. The balloon-bust is a little 
more challenging; you must track the 
tethered red balloons while avoiding 
the green road signs, or it's parachute- 
time. Intermission screens reward 
successful completion of each level. 



There are four different intermissions, 
and when you finish the fourth level, 
the last intermission screen displays 
"THE END." Ahh, but it's not. Gee 
Bee lets you play until you twice fail 
to complete a course within the 
allotted time. After 'THE END," 
gameplay resumes at the next level. 
The top 15 scores may be saved to 
disk. 

Gee Bee's greatest strength and weak- 
ness is its heritage. Activision made 
its early reputation on flashy, playable, 
but basically simple games. While Gee 
Bee's arcade-quality graphics and 
sound match the high quality of 
Activision' s previous Amiga titles, its 
gameplay barkens back to the old 
Atari VCS ROM-packs. After the first 
few rounds of chortling in delight over 
the Dopplered VRRRROOOM of 
competing planes as they winged past 
my aircraft, 1 found myself wondering, 
Where's the beef? Strategy can be 
staled in one sentence: stay within the 
boundaries, fly low, and don't bump 
into anyone. And that's the game. 
After playing a few levels of Gee Bee, 
you're ready for something new. 

What Gee Bee Air Rally does, it does 
well, but the game lacks the staying 
power needed to keep veteran gamers 
coming back for more. Designer Steve 
Cartwright has produced a good game 
for casual players, family get-togethers, 
and kids. 



GEE BEE AIR RALLY 

Activision 

P.O. Box 7286 

(415) 960-0410 

Mountain View, CA 94039 

List price S39.95 

Copy protection: Disk-based 

Graphics: Bright 

Playabilily: Average 

Sound: Lawamowers at 4 o'clock! 

Overall: Pole Position with wings. 
1 player 



"Have you tried climbing in the 
casket? Don't." 

"How do I bet on the rat races?" 

"Where do I get the eye to complete 
the recipe?" 

These amd other such comments on 
local bulletin boards were my first 
indication that Magnetic Scrolls' Guild 
of ThieiKs is not your average game. 
But then, anyone who would expect 
the ordinary from the perverse minds 
that created The Pawn is simply not 
paying attention. Guild of Thieves is 
alternately frustrating, exhilarating, 
and surprising — and a heckuva good 
play. 

Though the game comes with a 
standard play guide, the main docu- 
mentation is a 40-page magazine titled 
What Burglar?, a trade publication of 
sorts for The Worshipful And Partially 
Honorable Guild of Professional 
Nocturnal and Surreptitious Entry And 
Removal Operatives of Kerovnia, Get 
My Drift?; a.k.a., the Guild of Thieves. 

The feature story in this issue of What 
Burglar? describes how a corrupt 
judge — annoyed at being constantly 
called to work because the ineptitude 
of local hooligans — determined that 
the answer was organizing the 
criminals into a professional union. 
One eventful night, the judge threw a 
party for the Kerovnian ne'er-do-wells, 
at which time he described his 
proposal. When they were told that 
dissenters would be "shot, garrotted, 
guillotined, hanged, clubbed, gassed, 
and electrocuted, then sent to prison 
for life," the entire party enthusiasti- 
cally embraced the idea, and the Guild 
was born. 

As the game begins, you are a young 
apprentice thief, aspiring for member- 
ship in the Guild — but of course, it's 
not as simple as just filling out an 
application with four or five "bad 
character" references. You must prove 



(continued) 



20 Amaung Computing V3. 4 ©1988 




other Products from The Other Guys 



REASON - a professional proofreading 
system used by universities and writers 
around the world to analyze and improve 
writing. (Has helped raise students 
grades when used faithfully.) $395.00 



OMEGA FILE - a REAL data base 

& mail merge 



$79.99 



PROMISE - the BESThigh speed spell checker. 
(Even betterthan Zingf^Speli) $49.99 

KEEP-Trak GL - general ledger for home or 
business $49.99 



AMT - amortization program 

MATCH-IT -teaches shapes & colors 

(preschool) 

MATH-A-MAGICIAN - add, subtract, 
multiply & divide 



$39.99 
$39.99 

$39.99 



Call or write for more Irr format ion. 



SYNTHIA High Performance Digital Synthesizer 

A Slate of ihc art music tool which will: 

Create digilaJ IFF Instruments for use with nearly all music programs! 

Modifying existing IFF Instruments. Use SYNTHIA on digitized samples to add reverb, wow, and other cnhancementt 
SOMETinNG FOR EVERYONE: 

Additive Synthesis - a traditional method which can create almost any type of inslrumenL 

Plucked Siring Synlhesis • simulates plucked strings . . . right down to the pluck'. 

Inlerpolalive Synlhesis - a method which introduces the natural imperfections found in insiniments 

(Insinimcnts such as brass, woodwinds, pianos, etc.) 

Percussion - build your own drum set . . . create any drum you desin:. 

Sublraclive Synlhesis - a simple method of creating instruments. 

Special Effects - inciudes filtering, amplification, phasing, wavcshaping, amplitude modulation, real reverb, and . 

IFF Music Player - powerful and compact. Now you can enjoy those songs that needed a memoiy expansion before! 

32 tracks and 32 lE-T Instruments! Supports chords, tics. etc. 

IS rr LIVE .. .OR IS rr syntiha? 



tiO 



,^ 



^^ 



.^^ 



Up to 



Synthia uses the latest technology to generate realistic sounding instruments and even the new families of Instiumcnls sound 
real. A real synthesizer on a real computer! 

Why buy digitiwul instruments when you can SYNTIIIAsite them? <iiC|Cl QQ 

Requires AMIGA 512K V;7C7,S7S7 

Software • A.MIGA is a registered trademark of Commodore Amiga 




Copyright©1987. TIIE OTHER GUYS 



THE OTHER GUYS 



55 North Main Street 

Suite 301-D 

PO Box H 

Logan Utah 84321 



[BOI] 7'53-7B2a 



Amazing Computing V5A ©1988 



21 



Give Your Amiga Control 
Of Your House! 

Program 123 Times For 256 Lights & Small 

Appliances Over Existing House Wiring 

Using The 

X'lO POWERHOUSE SYSTEM & YOUR 
AMIGA 



Plug Lamp Into X-10 Module, Plug 
Module Into WallsockeL 



X-10 Computer Intcrrace & 

Sortwarc: $45 + S3 s/h 

Software Only: $20 + $1 s/h 

SPECIFY AStO/IO(l(l/2000 



* pull Inluitiaa Inlclficc ■ iDlclfuc RcrmviUe plum 

' Sivc Jt Reel]] Ev^ Hlcc ScTu] Pan After ^r^^tnamn^ 



I 727 Parkview • Redlanas, Ca • 92374 
(7M)794-531 1 



your mettle. You find yourself in a 

small dingy with the Guildmaster, 
whose instructions are clear — get out 
there and steal anything that isn't 
nailed down. 

No, it didn't sound like much of a 
premise to me, either. 

Well, get ready for a ride. Because if 
there was any doubt. Guild of Thisves 
firmly establishes Magnetic Scrolls as 
the RoUs Royce of adventure gaming. 
1 can't say much about what ensues 
without giving away the story; suffice 
to say that between you and member- 
ship in the Guild lie such diverse 
obstacles as a deadly rainbow ma.ze, a 
multi-level abandoned temple, a bed of 
hot coals, and a wine cellar full of rats. 
You will have to outwit a poisonous 
spider, a hungry macaw, and a wary 
gatekeeper. That's only a fraction of 
what you can expect, but you get the 
idea. 

Like The Pawn, GuiM of Thieves is 
primarily a text adventure, supplii- 
mcnted with scores of colorful graphic 
screens. The graphics are a welcome 
addition to the game, but you still 
need to make maps as you go to stay 
oriented. 



Guild of Thieves has the kind of 
features that have become standard for 
text adventures: the option to print a 
copy of an adventure as it is played, 
save a game in progress, and set the 
program for brief, normal, or verbose 
descriptions. Its ability to understand 
English sentences is as good as — 
perhaps even better than — anything 
Infocom has done. 

What sets Guild of Thieves apart are 
features not common to adventure 
gaming : simple but thoughtful 
additions like the ability to choose 
between standard 80-column text and 
a large, easy-to-read custom font. 
Sight-impaired players can use the 
"SPEECH" option, which uses the 
Amiga's speech synthesizer to read the 
game as it is played. There is an 
"EXITS" command that lists every exit 
from your current position, and you 
may assign frequently used commands 
to the function keys. 

My favorite command — one that really 
takes the tedium out of moving from 
place to place — is the "GO TO" 
command. Let's say you're at the 
bottom of a cave, and discover the key 
to unlock the jewelry box in the 
master bedroom of the castle, twenty- 
odd moves away. To get to the 
master bedroom, most games would 
force you to enter every move from 
one point to the other. To reach the 
your destination in Guild of Thieves, all 
you have to do is enter "GO TO THE 
MASTER BEDROOM." Barring 
obstacles in your way (you can't use 
GO TO to charge past the fire- 
breathing dragon), you will be trans- 
ported by the most direct route to 
your destination. If that route takes 20 
moves, it will still count as 20 moves 
against your final score, but especially 
in later stages of the game, GO TO 
saves a lot of time. 

Unlike some companies that gouge 
befuddled players a few bucks for hint 
books, Guild of Thieves' documentation 
includes a "hints" section. But there's 
a rub — the hints are encrypted. As in 
The Pawn, Guild of Thieves' hints begin 



with a question — "Why Does The 
Mynah Bird Do Nothing But 
Squawk?", followed by a long string of 
two-character jumbles — "tm o5 7s ye", 
etc. This keeps players from inadver- 
tently stumbling across a solution and 
ruining the challenge. You can get a 
hint if you get stuck, but it's quite a 
pain — anyone who's ever typed in a 
hexadecimal machine language 
program from a magazine will 
recognize the feeling immediately. 
This makes getting hints hard enough 
that most people will turn to them 
only as a last resort. 

I admit some ambivalence toward 
text-gaming, but GuiM of Thieves has 
managed to steal from me more than 
its share of late-night hours. It is 
challenging without being mind- 
numbing, and its convenience features 
let you spend your time cracking the 
game's puzzles, not trudging through 
the game's mechanics. Well done! 



GUILD OF TfflEVES 

Firebird Ijcenaees, Inc 

Box 49 

Ramsey, NJ 0744* 

(201) 444-5700 
list price $44,95 

Copy protection: Documentation-based 

Graphics: Rich and varied 

Playability: Very involving . 

Sound: None 

Overall: Who cares if crime pays 
when it's this much fun? 



Infocom, the Cambridge-based com- 
pany best known for such classics of 
interactive fiction as Zork, Witness, 
and the Enchanter trilogy, has done it 
again. The Lurking Horror is a 
Lovecraftian horror story set in the 
present, at the unlikely venue of 
George Underwood Edwards (G.U.E., 
pronounced gooey) Institute of 
Technology, a high-tech haven for 
assorted computer nerds, geeks, 
squints — and you, of course. 

(continued) 



22 Amazing Computing V3. 4 ©1988 




TAKE A DRIVE INTO TOMORROW 



Tomorrow's disk drive is here today. 
From CALIFORNIA ACCESS™ comes 
the CA-880, a powerful new 3 '/^ " 
disk drive for all Amiga® computers. 

This highly reliable disk drive 
formats a 3 '/z " double-sided, double- 
density diskette for 880 kilobytes 
of storage. The CA-880 is fully 
compatible with the Amiga 1010 
disk drive, but offers much more. 
The CA-880 is half the size, is 
considerably quieter, and 
has an extra long cable. 



The CA-880 also has a connector 
that allows you to attach an 
additional disk drive. 

So why wait until tomorrow for 
what your computer needs today. 

The CA-880 is yours for only 
S229.95 (suggested retail price). 

For more information call (408) 
435-1445, FAX (408) 435-7355, or 
write to Logical Design Works, Inc., 
780 Montague Expwy, #403, 
San Jose, CA 95131. 




Sx4r 



ACCESS 



TM 
Vour Accns to ihc Future 

Amiga i! a rrgljtcixd rradcm^ark of CommixLotcAml^. Inc. CALIFORNIA ACCE5S and CA-SAO arr mdcmarks ot Luftkil Dnign Woiks, |nc 




Project Disk Special 



RAM Tools 



"^WBEXJTRAS 

by Peter Dunlap 




SeePlcture 

LoadPicture 

UnloadPicture 



Isn't It time you got the most from 

your Amiga? ^ 

Now. "WBExtras" is here and is specifically 
designed to enhance operation of the Amiga by 
the "New User" as well as the "Seasoned 
Programmer". 

For the Amiga User. . . 

Use of New Wofkbench Menus, "RAM Tools" and "WBExtras" provide access 
to ANY Workbench Too! from tfia Worktiench Menu and allow 'Multiple Icon 
Selection" without the use of the "SHIFT Key". Also, "New Execution Modes" 
permit a "Single Loading" of Workbiench Tools for Multipte Task Execution. This 
results in "Optomized Memory Allocation" and "Reduced Disl< Thrashing". For 
FULL System Memory, WBExtras will "PolitelyRetire" and RELEASE ALLO- 
CATED MEMORY WITHOUT RE-BOOT. As a BONUS, several New Work- 
bench Tools are included (See Menu). 
For the Amiga Programmer. . . 

WBExtras includes SOURCE CODE in "C" and "AmigaBASIC" for Workbench 
Tools using a NEW Programming Technique which provides "Optomized 
Memory Utilization". "Inter-Program Communication", and "Disk Access 
Queing". 




Lynn's Luna 



S3995 



SVSfEM INNOIfflllllNS 



Plus 3.00 (or Shipping 
Colorado Res. Add Sales Tax 



P.O. Box 1308 

Canon City, CO 8121 2 ^^1 

303 275-5858 L^^ll 

Amiga & AmlgaBasIc Workbench TM ot Commodors ■ 

■ 'Dealer Inquiries Invited" 



Amiga, Inc. 



And Something Else : deep within the 
forgotten recesses of good old G.U.E. 
lurks a creature as vile and repulsive 
as anything in the Cthulu Mythos. 

First stop: the documentation. As 
with all Infocom games, a quick 
perusal of the docs is time well-spent. 
Lurking Honor comes with a technical 
manual to acquaint newcomers with 
the finer points of text adventuring, a 
copy of G.U.E. Tech's Guide for 
Freshmen, a student ID, and a festive 
plastic centipede that sticks to your 
monitor screen to set just the right 
mood for what's to come. 
Eeeeuuuuuu ... 

The centipede is the least of your 
problems. Your most pressing concern 
as the game begins is a Classics paper 
due the next day; you log in to an 
available computer in the terminal 
room and attempt to edit your 
paper... but what's this? Scrambled 



directories have replaced your work- 
in-progress with what looks like the 
class syllabus for Feed-Humans-To- 
The-Beast-101 ... whereupon you lose 
consciousness and become lost in your 
computer in a whole new way ... 

But let's not give any more away, shall 
we? Heh, heh, heh. 

Lurking Horror marks a new feature for 
Infocom games: sound. You get your 
first taste of this innovation early in 
the game, adding an eerie presence to 
a dream sequence which foretells 
terrors to come. Perhaps I'm just 
overly suggestible, but it worked on 
me — I found myself actually checking 
doors and looking over my shoulder 
because of a computer game. 

Using sound to supplement a horror 
story was a savvy move on Infocom's 
part. Sound moves in under the 
conscious level, calling up associations 
and painting mental images are unique 



to each individual. The masters of 
old-time radio drama knew this well, 
and used it to their advantage. No 
graphic artist can ever paint the 
horrors conjure in your own mind. 

Lurking Horror's sound is most effec- 
tive in those places where it supplies a 
background to continuing action; it 
approaches gimmickry when used to 
punctuate a climactic moment with a 
scream, and the long disk accesses 
preceding each sound effect betray 
any surprises. In any case, the sound 
is an option. If you like it, it's there. 
If not, you can toggle it off. 

If you are new to interactive fiction, 
this game is probably not the place to 
start. Lurking Horror is tough. At- 
tempting to tackle it without thorough 
mapmaking skills is a virtual invitation 
to become Purina Monster Chow, 
Even with a good map, your ingenuity 
will be tested by some of the nastiest 
challenges since Infocom's Starcross 
required players to recognize molecu- 
lar structures from a text description! 
It is recommended that you pause 
frequently to save games in progress. 

With Lurking Horror, author Dave 
Lebling (Zork, Suspect, Spellfareaker) 
again proves himself to be a master in 
his field. If your tastes run toward the 
horrific, this one's a must-have. 



THE LURKING HORROR 

Infocom 

125 Cambridge Park Drive 

Cambridge, MA 02140 

(800) 262-6868 

Liat price $39.95 

Copy protection: Documentatlon-baeed 

Graphics: None 

Playability; En(grosg)ing 

Sound; Creepy 

Overall: A first-rate interactive chiller 
that will have you cringiiig in your 
Nikes. And you thought Grues were 
bad! 



•AC- 



24 Amazing Computing V3 A ©7988 



A. A4 A. Z I N G 



P R 



by Keith Conf orti AC Art Dircrtor 



TIME BANDI 



A shoot-cm up arcade extravaganza! 



Science fiction genre games are proba- 
bly the most common arcade games on 
the Amiga market today. Usually, if 
you've seen one, you've seen them all, 
but there are exceptions. Time Bandit, 
a new breed of science fiction game 
from Microdeal, explores boundaries of 
size and cleverness that most other 
current games just cannot compete 
with. 

Time Bandit is a huge, massive, awe- 
some (it's BIG) combination of other 
arcade games, board games, movies, 
music, history and fantasy. You might 
say it's a "greatest hits" collection 
from the popular-entertainment culture 
we have all grown up in. 

Time Bandit borrows game themes 
from Pac Man, Space Invaders, 
Centipede emd others, like the board 
game Chutes and Ladders (my 
childhood favorite). The game is also 
flavored with humorous reminders of 
Ghostbusters and Star Trek, There is 
even one Timegate known as "Hotel 
California"! 

Time Bandit steps into yesteryear to 
recall the glory days of arena fighting 
in ancient Rome, the struggle for 
power among the kingdoms of the 
Middle Ages, as well as the evil curses 
of the Great Pyramids. The story is 
something H.G. Wells would be proud 
of. These seemingly unrelated, 
frivolous scraps are wound into an 
exciting shoot-em-up race against time. 



About all that's missing is a good ol' 
American Western — but Time Bandit's 
got that, too! It's called, get this. 
Ghost Town. Even James Arness 
would be a little wary of stepping foot 
in this shady place! 

"What is this," you say, "a potpourri 
of worn out, overused, and dated 
items which everyone has already seen 
too many times?" No! There is a plot 
here, and the basis for the game is 
daring and original, even if some of 
the graphics and ideas are not. You 
must conquer each of the territories 
accessible through the Land of the 
Timegates. It may sound simple and 
easy, but there are sixteen Timegates 
to test your skills and adrenalin. 



The Adventure Begins! 
As the game begins, you are in the 
land of the Timegates. From this 
starting point, you may enter any area 
of time: the past, the present, or the 
future. The creators. Bill Dunlevy and 
Harry Lafnear, have also thrown in a 
couple of extra Timegates to explore, 
an outer space Twilight Tjone and 
Shadowland, and a great version of 
Pac Man in which you are continu- 
ously stalked by ominous shadow- 
creatures. 




Each lime territory has three unique 
Timegates which must each be 
conquered, and there are five time 
territories in all, plus Shadowland. To 
reach a final triumph in the game, 
each Timegate must be rid of its curse 
or secret. In order to undermine these 
clandestine dealings, the Bandit must 
be victorious on each level of play in a 
Timegate, There are four major levels, 
each with four sublevels. 

Let's see. That's sixteen levels per 
Timegate and there are sixteen 
Timegates, which means you need to 
conquer 256 levels to win! All these 
victories are a lot to do to win a 
simple game, but each place is a story 
and a game in itself. 



Scenario of a Timegate 
Aboard the Excalibur (a downed 
spaceship that looks remarkably like 
that other famous spaceship, the 
Enterprise), you must solve a mystery 
surrounding the abrupt disapp>earance 
of the flight crew and the reason for 
the craft's downing. Beware, though, 
a very hostile life form has invaded 
every corner of the Excalibur. 

(continued) 



Amazing Computing V3.4 ©1988 



25 



At Castle Grejonoon, an evil 
sorceress has left King Quark 
powerless after kidnapping 
Kelveshaan, a character who 
kept the kingdom pure. 
There is a mighty reward to 
be won for finding Kelvesh- 
aan, but beware the hands 
his magical powers fall into! 

Poor King Quark has also 
lost the Crown of the 
Universe, and at King's 
Crown, you have the chance 
to regain it for him. Only 
this time, your adversary is a 
ruthless warlock who holds 
the crown for ransom. 



fmm 






CVSITS: 2ql0 



adventure. But for those 
who love to get into all the 
spirit and action a game can 
offer (you know, those 
people who play computer 
games until the wee hours of 
the morning and eat all three 
meals in front of the moni- 
tor). Time Bandit will defi- 
nitely be the bread for their 
butter. 



THE TTnEGirreJ? 



The single player live action window could be 
larger, but it docs not hamper the game at all. 



slightly 



Each territory of the Timegates has a 
different story to follow, but I won't 
go into those here. What 1 will go 
into, though, is some of the fine detail 
in this arcade extravaganza. 



Bits and Pieces 

Blast, blast and blast again! The 
Bandit has an unlimited number of 
missiles he can fire from his hand-held 
cannon, so shoot everything that 
moves! There are more evil mons-ers 
than you can shake a stick at; lumber- 
ing cavemen, roving lions, floating 
eyeballs, man-eating spiders, stalking 
Cyclopes, and too many others to 
describe in a single paragraph! 

I have always hated playing a game 
where all my characters are killed, 
because I only had three or, maytso, 
four lives, and the game ends. Time 
Bandit solves that problem by giving 
each player at least a dozen lives. 
Believe me, you'll need every one of 
them if you are going to win anytliing. 

During each journey, you vrill come 
across all kinds of trinkets and 
rewards. These treasures will add to 
your fortune (measured in Cubits), so 
be sure to amass aU that you can get 
your hands on. 



The race against time is even more 
challenging when two Bandits are 
vying to achieve the same goal. Two 
players can work in tandem to 
conquer more Timegates, or they can 
shoot it out to eliminate the weaker of 
the two. The screen is split in the 
two-player mode, so each player can 
monitor the moves of both. The effect 
is good, but it does make a small 
active window for each Bandit. 

Remember, I said Time Bandit is big, 
really BIG. But is it too big? For 
some, I think it will be, because they 
won't have the time or patience it 
takes to really get involved in the 



Time Bandit is not flawless. 
There is no musical score to 
accompany any portion of 
the action. It's possible that, 
with everything already 
stuffed on this single-disk 
game, there was just no 
more room for music. The action 
window for the Bandit is also rather 
small, considering how many meanies 
are sneaking up on you from all sides. 
The screen is split in half and leaves 
too much room for status information. 
I think it would be much better to 
have a larger action window. 

Overall, though, these minor criticisms 
are far outweighed by the game's 
originality, wit and compelling size. 1 
think it will be a long time before we 
hear about anyone completely succeed- 
ing at Time Bandit, and, somehow, I 
think Bill Dunlevy and Harry Lafnear 
meant it to be that way. 

•AC* 







cubits: cubits: o 




THE T1HEG3TES 



The two player mode is more difficult to function in 
because it's tough to sec if the 'Tjad guys" are sneaking 
up on you. 



26 Amazing Computing V3.4 ©1988 




A M. A. Z I M G REVIEWS 



AudioMaster 



by Brendan Larson 



In this day of brilliant 3-D paint 
packages and animation software, it's 
easy to overlook another quality the 
Amiga possesses — sound generation, 
specifically digitized sound. Several of 
the Amiga sound digitizers on today's 
market have been hampered by the 
lack of a powerful, "user-friendly" 
digitizing software environment. 
However, Aegis' AudioMaster pro- 
vides a friendly environment and 
more! 



Sampling 

AudioMaster, written by Australian 
Peter Norman, works with all sound 
digitizers on the market and deals 
with almost every type of sound data 
processed and stored on the Amiga. 
(This will be discussed in more detail 
later.) One of the most exciting and 
unique features AudioMaster offers is 
the ability' to sample sound in real- 
time and "pass" the sample to the 
Amiga audio jacks almost simultane- 
ously! As a sample is monitored, a 
small window displays the wave 
pattern being formed in real-time (like 
an oscilloscope). This helps the user 
because he/she can tell immediately if 
a sound is being sampled at too high a 
volume (causing distortion), or if the 
input volume needs a boost. 

To give you an idea just how useful 
monitoring in real-time can be, 
consider a case where you want to 
sample a "slice" of music from a radio 
station. What is played on the radio is 
not under yotir control; you need a 
way to "monitor" the radio until your 
favorite song is on the air. Normally, 
you would have to provide an external 



...works with all sound digitizers on the market and deals with 
almost every type of sound data processed and stored on the Amiga, 



output for this. With AudioMaster, it 
is easier. Simply bring out audio 
cables from the back of a radio tuner 
or amplifier system and attach them to 
the "audio input" of the sound 
digitizer (normal procedure for 
sampling). From there, you can use 
separate standard audio cables and 
connect them to either the Amiga 
Monitor (audio input), or run them 
into the audio "auxiliary input" on the 
back of the amplifier system. Presto, 
monitoring in real time is as easy as a 
click of the mouse! (Of course, 
another application is the emulation of 
the ever popular "Mr. Microphone," 
where audio is passed out of the 
Amiga in almost real-time.) 

When you use AudioMaster's custom- 
designed sampling software^ notice 
that the length of the recording is not 
limited to 512K Chip RAM:, as in the 
past. You can now record to your 
heart's content, or until you fill up 
your reserve of Fast RAM:! With 2 
Mb of Fast RAM;, I was able to record 
a sample nearly 1.5 minutes long. 
AudioMaster allows sampling at two 
different rates: "Sample Lo" (used 
primarily for sampling sounds to be 
used later as "instruments" in one of 
the many popular music programs 
available); or a "Sample Hi" which 
will consider the capabilities of your 
particular system (e.g., amount of Fast 
RAM:). 



Editing 

Editing is as important as sampling. 
In fact, editing sound waves usually 
consumes the most time in audio 
production. AudioMaster not only 



loads any previously created IFF 
instrument or sound, it also loads any 
type of raw data. So, if you want to 
find out what your latest IFF picture 
sounds like, you can load it in. I have 
tested AudioMaster with nearly every 
type of sound data, including 
NewTek's favorite — Rbonachi Com- 
pression technique. I doubt there is 
any Amiga sound file that cannot be 
loaded into AudioMaster's Edit 
Window. But watch out! Due to the 
vast array of sound effects that can be 
applied to your sound with Audio- 
Master, there's no telling what the end 
product will sound like, once you load 
the desired sound into the Edit 
Window, 

Within the Edit Window there's a 
vertical bar that acts as a placement 
marker on the waveform. It is quite 
easy to select any part of the wave- 
form (sample) and listen to a portion 
of it. The portion can be stored into 
memory by a Copy command. It can 
also be removed from the entire 
waveform and stored into memory by 
cutting it and then pasting it into 
another area of the waveform. TTiis is 
useful for repetition of certain sounds 
(e.g. A Max Headroom effect). 

Other features include the Echo 

feature, which allows selection of the 
length of the echo, the total number of 
echos, and the echo's decay rate. 
Also, if a crescendo or decrescendo of 
a portion of the sample is desired, 
AudioMaster has a Volume percentage 
control (not to be confused with the 
Volume control for the speaker 
system), causing a "ramping" of the 

(amtinued) 



Amazing Computing V3.4 ©1988 



17 



ADD TO THE POWER OF YOUR PROGRAMS WHILE YOU SAVE TIME AND MONEY! 



CBTREE does it all! Your best value in a B+tree source! 



Sava programming lime and eltort. 

You can develop exciting fJe access programs quickly and easily because 

CBTREE provides a simple Sut powefful program interface lo all B+lree 

operaiions. Every aspecl of CBTREE is covered thoroughly in Ihe 70 page 

Users Manual with compleleexam pies. Sample programs areprovided on 

disk. 

Gain flexibility in designing your applicallons. 

CBTREE lets you use multiple keys, i/ariabie key lengths, concatenated 
keys, and any data record size and rei:ord length. You can customize the 
B+iree parameters using utilities provided. 

Your programs will b« using Ihe most efficient searching techniques. 

CBTREE provides the fastest keyed file access perlormance. 
with multiple indexes in a single file and crash recovery utilities. 
CBTREE is a full function implementation of the industry 
standard B+tree access method and is proven in applications 
since 1984. 



Access any r«cord or group of records by: 

•Get first 

• Get previous 

■ Get less than 

• Get greater than 

• Get sequential block 

• Get all partial matches 

■ Insert key and record 

• Delete key and record 

• Change record location 



• Get last 

■ Gel next 

• Get less than or equal 

• Get greater than or equal 

• Get partial key match 

■ Get all keys and locations 

• Insert key 

■ [Delete key 



Increase your implementation productivity. 

CBTREE is over 6,000 lines ol tightly wntien, commented C source code. 

The driver module is only 20K and links into your programs. 



^ife 



rsSACOCK sv^TgrTns re 



Port your applications to other maehlns environments. 

The C source code that you receive can be compiled on all popular C 
compilers for the IBIvl PC and also under Unix. Xenix, and AmigaDosI No 
royalties on your applications friat use CBTREE, CBTREE supports multi- 
user and neivi/ork applications. 

CBTREE IS TROUBLE-FREE, BUT IF YOU NEED HELP WE PROVIDE FREE PHONE SUPPORT. 

ONE CALL GETS YOU THE ANSWER TO ANY QUESTION! 

CBTREE compares favorably wilfi otfier software selling at 2,3 and 4 times our price. 

Sold on unconditional money-back guarantee. 

YOU PAY ONLY S99.00 - A MONEY-SAVING PRICE! "OHI VarlBble length records. 
TO ORDER OR FOR ADDITIONAL INFORMATION 
CALL (800) 346-8038 or (703) 847-1 743 
OR WRITE 



Peacock Systems, Inc., 2108-C Gallows Road, Vienna, VA 22180 



sound. A simple pull-down menu 
allows the sample to be played 
backwards, or mixes two different 
waveforms together to get strange and 
unusual effects. In fact, freehand 
editing with the mouse can alway; be 
executed on a particular wavefornt. 
This is useful for creating bizarre 
instruments to be loaded into a music 
program. 



For preparing an instrument, Audio- 
Master allows the continuous looping 
of a waveform. However, this 
mechanism is limited. For instance, I 
was not able to loop samples recorded 
at a high sample rate, nor those lasting 
over 10 seconds. This makes sense, 
since most instruments used in a 
music package usually last only a few 
seconds. 



Filter. The effect of the Low Pass 
Filter is to "tone down" a sample. 
One word of caution: the Low Pass 
Filter works well as a software toggle 
to the high frequency cutoff filter on 
both the Amiga 500 and 2000 mother- 
boards, but a hardware "hack" is 
recommended (although not explained 
in the Audio Master manual) for 
owners of the 1000 machine. 



The Edit Window is not restricted to 
displaying the entire waveform at 
once. If you need to get to the niliy- 
gritty of a wave, simply select the 
desired portion and "Zoom In" or 
"Zoom Out." If the sample does not 
have the proper pitch, "re-tune" the 
sample with AudioMaster's special 
tuning menu. I had fun with this at 
Halloween because it was quite simple 
to record a person's voice and lower it 
by several octaves, creating a mon,ster- 
like sound! 



If you're afraid of damaging a sound 
sample while editing or experimenting 
with it, a Snapshot will end your 
worries. When you take a Snapshot , 
you can send your waveform to either 
a hard disk drive, floppy disk drive, 
or, (if you have tons of memory) to 
RAM. If you do make a mistake 
while experimenting, simply Recall the 
Snapshot, and your original is back 
again! 

Finally, if you need a treble control to 
alleviate aliasing (distortion), play back 
a sample using a special Low Pass 



Conclusion 

AudioMaster was written in Machine 
Language, which makes it very power- 
ful and fast, and the 72-page manual is 
documented quite well. If your par- 
ticular applications require manipula- 
tion of any Amiga sound generation, 
digitization, or audio production, don't 
pass up Aegis' AudioMaster, which 
retails for SS9.95. 



Brendan Larson 
WeatherConnect, Inc. 
Ojicago, Illinois. 



28 



Amazing Computing V3.4 ©1988 



AA1AZ7A/G R E V I E W S 



MucSic MoucSe 



By J. iHenry Lozuengard 



I first learned about Music Mouse 
from a review in Ear Magazine (June 
'86). I was so interested, I actually 
bought a copy — even though I didn't 
have a Macintosh to run it on! (All 
right ... I gave it to my brother to run 
on his Mac Plus.) Now more than a 
year has passed, and after many beta 
versions and creeping features, the 
Amiga port has been released, mar- 
keted by Opcode Systems as their 
initial entry into the Amiga commu- 
nity. 

What a port! Music Mouse has been 
adapted and expanded in its Amiga 
version, with much attention paid to 
Amiga-related concerns such as fine 
full-color graphics, multitasking, and 
IFF sound files. It even installs itself as 
a module in Mimetics' SoundScape's 
patch panel! 

So what is Music Mouse? "You can't 
play 'Home on the Range' with it," 
says author Laurie Spiegel. Music 
Mouse is a high-level software-based 
musical instrument. If you take a 
wide view of music, you will realize 
that Music Mouse itself is a composi- 
tion (somewhere in the genre of 
"process music"), it reacts to the 
mouses position and a few dozen 
parameters to either play internal 
sounds or send MIDI data. More 
precisely, the mouse position selects a 
chord voicing from any of seven built- 
in scales, then plays it according to 
settings for arpeggiation patterns, 
decay length, loudness, and MIDI. 



The aforementioned scales are Oiro- 
matic. Diatonic, Middle-East, Pcnta- 
tonic, Fourths, Octotonic and Non- 
Quantized; they may be transposed 
into any key. The patterns interact 
with the mouse position and pattern 
transformation settings to produce four 
notes. The selected notes are then 
ordered into a short musical phrase, 
and finally, played on the internal 
voices, on MIDI devices, or both (or 
neither — one may mute any or all of 
these voices). 

The result is a flow of chords or 
arpeggios controlled by mouse 
movements. Music Mouse uses the 
computer keyboard as a control panel, 
which means you don't have to fish 
for menus or gadgets very often. The 
menus clue you in on the various 
functions, and a copyable cheat sheet 
is provided to help you out until you 
memorize the keyboard layout. The 
manual tells you about each function 
in detail, and explains the reasoning 
behind the various groupings of keys. 
AH the menus, by the way, sport drop- 
shadowed lettering, which I recom- 
mend to all developers. 

If you acquire other software packages, 
or new MIDI synthesizers, mixers, 
effects racks and what-not. Music 
Mouse grows in power. It makes an 
imaginative MIDI controller, creating 
understandable, unexpected effects 
while you shape the general contours 
of the composition. The program is 
quite accommodating and obviously 




carefully designed: the manual even 
gives a few tips on how to take 
advantage of certain synths' power, 
and it has menu entries which accom- 
modate the quirks of the C2-101 and 
the Mirage. MIDI is accommodated 
via a serial-to-MIDI converter, such as 
the ECE MIDI, MIDI Gold, or Mimet- 
ics' interfaces. 

The Amiga's internal sounds need not 
be left out of the orchestration. Music 
Mouse uses standard IFF 8SVX 
formatted files with no funny 
extensions (i.e. ".sample" or ".snd" ) as 
internal sound material. The program 
comes with 24 samples in its Sounds 
directory. The four Amiga voices may 
be independently loaded with any of 
these sounds, using a snappy file 
requester. You can use sounds made 
for other Amiga music programs with 
Music Mouse, and pre-select the ones 
to be loaded when the program is 
started. As you discover the effects 
certain keystrokes have on various 
sample combinations, you will find 
that even without the aid of MIDI, the 
Amiga can do its awesome best. And 
thanks to multitasking, you can run a 
slideshow or animation on top of it 
while it plays (memory permitting). 

The manual, also written by Laurie 
Spiegel, is very thorough, and unlike 
some other ports I have seen, it's 



(.amlinmd') 



Amazing Computing ViA ©1S88 



2$ 



brand new and Amiga specific. Since 
the Amiga version is currently the 
more powerful of the two, this is 
helpful. (Mac readers take heart! 
Your version will be upgraded next, 
with even more features and controls 
than before!) The manual also covers 
some aspects of the philosophy behind 
Music Mouse, and by extension, the 
whole subject of computer-aided 
composition in real-time. You can use 
it to ear-train yourself to find the 
movements underneath the melodic 
patterns and harmonies found in other 
music. 

One of the very big problems with 
computer-based performance is that it 
is not interesting to look at. Often, the 
operator comes out, turns it on, and 
assumes a grim visage while the 
audience squirms. Amiga Music 
Mouse pro\'ides an eight-color diiplay 
which can be "played" in synch with 
the music. For example, the colored 
bars may be "stamped" on the screen 
(Deluxe Video terminology) find color 
cycled. Each of the 8 colors may be 
sec interactively from the keyboard, 
Turning down colors 6 and 7 removes 
the logos and keyboard images, 
leaving you to groove on the Video 
Vibes. While not as psychedelic ai; 
Polyscope, the effects give audiences 
and performers something to look at 
and hum their mantras to. 

Admittedly, the mouse is not an ideal 

musical controller. It has only two 
degrees of freedom. Even when 
augmented by the keyboard, it takes 
some practice (as all instruments do) 
to understand which gestures cause 
which music events. On the other 
hand, since my "mouse" is a modified 
trackball, I can control it with my leet 
while playing some other instrument. 
I can also report that, using internal 
sounds only, it runs perfectly from a 
Kurta Series 1 digitizing pad (the 
Scries 1 uses the serial port). Because 
of the intentional randomness of 
sequences, its output is a good basis 
for improxasation. 



Music Mouse is copy protected, using 
the original disk as a key. Even 
Marauder H won't copy this key 
successfully, so you're out of luck if 
you want to run uninterruptedly from 
a RAM: or hard disk. Music Mouse 
(Mac) has been widely pirated, and the 
two authors could really use the 
royalties. If you make a copy for 
customization purposes, be sure to 
rename the disk so Music Mouse 
won't confuse it with the key disk, 
and subsequently become Music Guru. 

1 have found two inaccuracies so far 
with the program and manual: 1) The 
Title screen has the old address for 
Opcode Systems, which I will not 
discuss here. 2) The method for pre- 
loading sounds is slightly more 
powerful now. Music Mouse looks 
into the S: directory (where Startup- 
Sequence hides) for a file named 
MMInitSounds. This file contains (in 
order) the directory name for the 
Initial sounds on the top line, then the 
name of the sound file to load for each 
of the four voices, each on separate 
lines. You can get a clue to this file's 
existence in the S: directory if you use 
the Save gadget in the Amiga voices 
requester. It would also be nice to 
save and restore entire configurations 
in a file, should you happen upon the 
Lost Chord. 

I mentioned that it can install itself in 
SoundScape's Patch panel, where you 
may connect it to the 'Tape Deck" or 
rcchannel its MIDI output. Music 
Mouse either transmits all information 
on channel I or puts each voice on 
channels 1 to 4. It can also take its 
"Clock ticks" from SoundScape, and by 
extension, from an external drum 
machine. When Sound scape is 
activated from Music Mouse, the 
Mouse screen glides down to reveal 
the Workbench-based SoundScape 
windows. If you connect your MIDI 
out to its own MIDI in, you can fool a 
concurrently running copy of Deluxe 
Music into reading "MIDI Events" and 
insert them into a human-legible score. 
(This trick comes directly from the 
manual!) 



Those with lots of extra memory can 
run DMCS, Soundscape and Music 
Mouse simultaneously and patch them 
together. (Now you know what 
multitasking is good for!) You can 
also run Music Mouse with copies of 
itself, although this makes sense only 
when using MIDI, since the internal 
sounds would be used up by the first 
copy. Those of us with even more 
memory like to run an infestation of 
Music Mice. Internally, Music Mouse 
sleeps most of the time, wakes up to 
play its notes and find out what's 
new, and then goes to sleep again. 
This makes for trouble-free multi- 
tasking. 

Music Mouse vrill soon be joined by 
other programs with similar aims, 
such as "M" from Intelligent Music 
and "Hierarchical Music Specification 
Language" (HMSL), a musical JForth 
extension from the Center for Contem- 
porary Music at Mills College (415-430- 
2191). It's a little odd that programs 
like this are surfacing before any com- 
mercial MIDI patch editors, but it may 
also mean that the ebb tide in Amiga 
music software is turning. 

•AC- 



Music Mouse 

{C> 1986-7 by Laurie Spiegel 
and David Sliver 

Ust Price: S79.00 



Opcode Systems 

1024 Hamilton Ct 

Menio Park, CA 94025 

(415) 321-8977 



About the Author 

J, Henry Lowengard is an active 
member of Amuse, the New York 
Amiga User's Group, and the author 
of some half-baked Amiga music 
software (DXFER,LYR,DRW...), which 
is available in the public domain. 



30 Amazing Computing V3 A ©1988 



A A4 A. Z I M G REVIEWS 



nfnim- Jouo 



Canadian Version 



April brings the end of Winter and the 
advent of Spring. Most people look 
forward to this time of year, but others 
dread it for one reason: income taxes. 

Tax payers have a natural tendency to 
put off completing and submitting 
their tax returns until the last moment. 
Those fortunate enough to receive a 
refund complete and submit their 
returns as soon as possible. Which- 
ever category you're in, you want to 
complete the necessary forms with 
minimum effort and complication. 

For tax-paying Amiga owners, there is 
good news and bad news. The good 
news is help is now available with 
Amiga-Tax from Dalamax Research. 
The bad news is Amiga-Tax is only 
available in a Canadian version. 
Datamax had hoped to release a U.S. 
version, but changes in tax legislation 
and forms made this impossible. 
However, they have already started 
working on an American version of 
Amiga-Tax for next year's returns, 

Amiga-Tax has some unique features, 
both as a tax program and as a piece 
of Amiga software. First of all, it is 
WYSIWTGG— not "what you see is 
what you get," but rather, "what you 
see is what the government gets"! The 
graphic power of the Amiga is used to 
display an exact on-screen representa- 
tion of the layout, logos, fonts and 
colors of all the tax forms. 



by Ed Bercovits 



When you start the program, you are 
presented with a blank T4 slip on the 
screen. You just take your real 
hardcopy of the T4 and transcribe the 
amounts for earnings, deductions, tax 
deducted at source into the same 
boxes on-screen. If you have more 
than one T4 slip, simply invoke a new 
blank slip and insert the additional 
figures. When you are finished, 
Amiga-Tax sums all the appropriate 
boxes and automatically copies the 
totcds to the appropriate locations 
throughout your tax return. 



...a solid program which 

eases the burden of tax 

preparation and greatly 

reduces transcription and 

calculation errors. 



Amiga-Tax is page-oriented, even for 
multi-page sections of the tax return. 
To move from one page to another, 
you must either select the appropriate 
item from a pull down menu, or use a 
right Amiga "hot key" combination. 
Quite often in a tax return, a figure 
entered on a particular line may be the 
result of a series of calculations on 
another page. Amiga-Tax handles 
these relationships unobtrusively by 
updating all interdependent lines. 
However, when a particular line is the 
sum of calculations elsewhere, it 
would be convenient to be able to 



move quickly to the other page by 
double-clicking in the entry box for the 
summary field. Datamax plans this 
feature for future program updates. 

Moving around an individual page is 
very easy and fast. First of all, there 
is "zoom in-zoom out" gadget on the 
menu bar which toggles the screen 
between non-interlaced and interlaced 
mode. In the latter, you can see twice 
as much of the page. Given the 
limited number of colors, the screen 
flicker is not objectionable. However, 
with the smaller characters and 
narrower spacing, 1 found it difficult 
to select the correct item on a pull 
down menu. 

To move to a particular field on a line, 
you simply click with the mouse in 
the field. To move sequentially from 
field to field, hit the return key 
repeatedly. A third movement option 
involves using the menu bar up-down 
gadget to move the cursor one line at 
a time for each click of the mouse. 
Finally, there is a one-inch horizontal 
proportional scroll gadget on the menu 
bar. This gadget controls large vertical 
scrolling movements: the left side 
represents the top of the page; the 
right side represents the end of the 
page. One of the nicest movement 
features occurs when you try to go 
beyond the bottom of the page. 
Rather than stopping, the screen 
display scrolls seamlessly around and 
returns to the top of the page. 



(continued) 



Amazing Computing V3. 4 ©1988 



31 



While you are working on your return, 
you can click at any time on a "recal- 
culate" gadget to show the "bottom 
line" numbers of your return: total 
income, taxable income, federal and 
provincial taxes payable, etc. When 
you've completed all your entries, 
simply turn on your printer, select 
"print" from the menu, and print out 
the complete return with your data. 
At this stage, many tax programs 
require you to either transcribe the 
figures manually onto an official form 
or to insert the form into the printer 
and hope your alignment gets all the 
data in the right place. Amiga-Tax's 
printer format has been approved by 
the tax department. Consequently, 
you can simply take your printout, 
sign it, attach your receipts, and 
submit it as your official return. 
Datamax intends to include this 
capability in their US release. 

A number of other, more general 
features bear mentioning. When you 
open the disk window from the 
Workbench, you will note one icon to 
start the program and another icon to 
install it on your hard disk. Selecting 
the "install" icon brings up a requester 
vvindovv, which allows you to sp^ify 
the path and name of the directory 
where you wish to install the program. 
It then completely automates the 
transfer of the necessary files. Incor- 
porating this function is not particu- 
larly difficult, but it eliminates the 
trouble of the new user having to 
search through all the directories on 
the floppy disk to find the files 
required to run the program, and then 
transferring these files to the appropri- 
ate directories on the hard disk. 
Automated hard disk installation 
programs are very common on other 
computers, but virtually non-existent 
in Amiga software. More Amiga 
software producers should follow 
Datamax's example, 

1 appreciated the additional memory 
provided for Amiga owners. Each 
"page" of the return on the screen is 



actually an IFF overlay file. Conse- 
quently, when you move between 
pages, the program must access the 
disk for the new overlay. However, 
there are two menu items in the 
program which allow Amigas with 1 
Mb of memory to move the most 
commonly used overlays to the RAM: 
disk. With 1.5 Mb, you can move all 
the overlays to RAM;, thereby reduc- 
ing the need for disk access to virtu- 
ally nil. Again, this is not a difficult 
programming effort, but it greatly 
simplifies easy program use. 

The final feature which caught my eye 
was the licensing agreement, one of 
the simplest and most straightforward 
I have seen for any software product. 
While it allows you to make copies for 
archival/backup purposes, the agree- 
ment goes on to state the following: 



Amiga-Tax % printer 

format has been 

approved by the tax 

department. 

Consequently, you can 

simply take your printout , 

sign it, attach your 

receipts, and submit it as 

your official return. 



"... you must treat this software just 
like a book." By saying "just like a 
book," Datamax means that this 
software may be used by any number 
of people and may be freely moved 
from one computer to another — as 
long as there is no possibility of it 
being used at two location at the same 
time, 

A book can't be read by two different 
people in two different places at the 
same time; likewise, the software 
cannot be used by two different 
people in two different places at the 
same time. From the user's viewpoint. 



a computer tax preparation program is 
a highly perishable commodity. 
While software producers obviously 
would like to sell as many copies of 
their program as possible, it is unreal- 
istic to expect to prevent an individual 
who has completed his return, from 
passing the program on to a friend. 
Datamax should be commended for 
recognizing reality in their licensing 
agreement. They should be rewarded 
by consumer support. 

Amiga-Tax is a solid program which 
eases the burden of tax preparation 
and greatly reduces transcription and 
calculation errors. At S69.95 Cdn (S56 
US) for the program, and S29.95 Cdn 
($25 US) for updates, it is a good 
value, especially when compared to 
similar commercial programs for other 
computers. It should be noted that the 
current update reflected not only new 
tax code provisions, but also provided 
additional program enhancements. 

If you're a Canadian Amiga owner, I 
strongly suggest you take a look at 
this year's version of the program. If 
you're an American, watch for adver- 
tisements and check your dealer's 
shelves next year. 



•AC- 



Amiga-Tax 

Canadian Version 

$69.95 once then $29.95 for 
yearly updates 



Datamax Research Corp. 

Box 5000 
Bradford, Ontario 
Canada L3Z2A6 



il 



Amazing Computing ViA ©1988 



MicroBotics means Amiga-Power! 

Whichever Amiga you own -or plan to buy- we have the expansion you need 



For the 

Amiga 2000... 

HardFrame/2000 

Super speed DMA SCSI Interface 

If _VOur application calls for super-speed un- 
interrupted access to your harddisk, Hard- 
Frame/2000 is your answer. This is a high- 
end, no holds barred SCSI interface that op- 
erates at bus speeds. With cable pinouts 
designed for compatibility with low cost 
Macintosh hard drives, one HardFrame/ 
2000 can support up to seven devices. 
Word-length data transfer, FIFO buffering, 
true DMA, all mounted on a metal frame 
suitable for mounting standard SCSI 3.5" 
drives "hard-card" style (or, if you prefer, 
cable connected to a bay mounted or exter- 
nal disk). Available March/April. Suggest- 
ed List price S329. 

SB2000 Adaptor Card 

StarBoard2 Portability 

Large numbers of MicroBotics Star- 
Board2 owners have moved over to the 
A2000. To protect their investment in our 
technology we've made available a simple, 
low-cost adaptor card that permits the in- 
stallation of a "de-cased" StarBoard2 inside 
the Amiga 2000 (in the first 100-pin slot). 
When adapted to the 2000, StarBoard2 is 
stili fuliy functional autoconfiguring memo- 
ry plus you get access to all the StarBoard2 
MultiFunction options- StickyDisk, Math 
chip, parity or the new SCSI Module. Availa- 
ble now. Suggested list price is only S49.95. 

8-UP! FastRAM 

Maximum Memory in One SlotI 

The FastRAM card that every Amiga 
owner will eventually come to -why limit 
yourself to the possibility of only two mega- 
bytes per slot when 8-UP! will take you all the 
way to the top of the autoconfiguration 
memory space of EIGHT MEGABYTES ! 8- 
UP! uses an exclusive MicroBotics- 
designed memory module, PopSimm, that 
frees the user to install his own, convention- 
al DIP-st>'Ie DRAM in standard SIMM 
sockets on 8-UP!. If you use 256k PopSimms 
you can install two megabytes on 8-UP!; if 
you install 1 meg PopSimms, you can install 
eight megabytes on one card! In either case 
you can install the memory chips yourself 
for maximum flexibility and mininum cost. 
8-UP! will also accept conventional SIMM 
memory'. 8-UP! is a power efficient, zero wait 
state, autoconfiguring design. 8-UP! will be 
available 2nd quarter of 88. Suggested list 
prices start at S195. 



For the 

Amiga 500... 

I\/I501 Memory+Clock 

Half a Meg at a Great Pricel 

As we are all coming to realize, a 1- 
megabyte Amiga (at least) is a necessity not 
an option. When you add the inboard 512k 
memory and clock module to your A500, 
make it a MicroBotics-brand, plug compati- 
ble work-alike. It uses the exact same kind of 
memory and the exact same clock and bat- 
tery. And note that just like Commodore 
and unlike some third-party expansions, we 
use a long-lived rechargeable Ni-cad bat- 
tery by Varta- which you'll never have to re- 
place! Set the MicroBotics clock using the 
same software (on your WorkBench disk) as 
you use for the Commodore clock. What's 
the difference? You get to keep S41 com- 
pared to the Commodore version. M501 has 
a suggested list price of only $159. 




MicroBotics,! nc. 

Great Producls Since the Amiga Was Born! 

811 Alpha Drive, Suite 335 

Richardson, Texas 75081 

{214)437-5330 

SOLD ONL Y THROUGH YOUR AMIGA DEALER 

Tell your dealer he can quick-order from MicroBotics 

directly - no minrmum quantity -show him (h/s adi 

StarBoard2/500 

Two Megs and a Choice of Modules 

The premier memory expansion for 
the AlOOO is now available on the A500. In a 
sleek, redesigned case with an independent 
power supply strong enough to power Star- 
Board2 and another AlOOO-style Star- 
Board2, all the power and flexibility of this 
great expansion device is available to you. 
Up to 2 megabytes of autoconfiguring, zero- 
wait state FastRAM, MultiFunction or SCSI 
module capability for either math chip/ 
StickyDisk functions or fast SCSI harddisk 
interfacing. StarBoard2/500 also has a 
unique LED diagnostic/confidence light to 
indicate the powered up state of your Amiga 
and your expansion memory. Another 
AlOOO style StarBoard2 can be connected to 
the expansion bus pass-UP (it exits through 
the top of the case) for a total of FOUR meg- 
abytes of memory and two modules. Sug- 
gested list price $495 and up. 



For the 

Amiga 1000... 

StarBoard2 

The Expansion Product of Choice 

The superb memory expansion for the 
Amiga 1000, still going strong! Up to 2 naega- 
bytes of zero-wait state, autoconfiguring 
FastRAM in a sleek, all steel Amiga-colored 
case plus the capability to accept either one 
of t(vo daughterboard modules: the original 
MultiFunction Module or the brand new 
SCSI Module. StarBoard2 is powered by the 
bus (up to two StarBoard2's can be support- 
ed by the AlOOO) and passes it on. Available 
now; suggested list price $495 and up. 

MultiFunction i\/Iodule 

High Tech at Low Cost 

This "daughterboard" installs on any 
StarBoard2 (all three Amiga models). It fea- 
tures a socket and software to support the 
Motorola 68881 Math Chip as an I/O device 
(MicroBotics pioneered this approach on 
the Amiga -now directly supported in the 
math libraries in the new AmigaDOSl .3). 
StickyDisk gives you the most "bullet- 
proof rebootable ram disk -its hardware 
write protection turns the whole device into 
a solid state, superspeed disk, alternately, 
parity checking of StarBoard2 memory can 
be enabled when extra parity RAM is in- 
stalled. Finally, the MultiFunction Module 
carries an easy to use battery-backed clock 
to set your system time on start-up. Availa- 
ble now; suggested list price $99.95. 

StarDrive Module 

Speedy, Low-cost SCSI Interface 

As an alternative to the MultiFunction 
Module, all models of StarBoard2 can ac- 
cept this new hard disk interface. StarDrive 
affords you cost-effective, pseudo-DMA ac- 
cess to Macintosh compatible SCSI drives 
and other third-party SCSI devices. Fast, 
easy to install including driver software and 
disk diagnostics. StarDrive also has a bat- 
tery backed clock to set your system time on 
boot-up. Available now. Suggested list 
price: $129.95 

MouseTlme 

The Port Saving Clock 

The easiest-to-use, most cost effective 
implementation of a battery-backed mouse 
port clock for the AlOOO. MouseTime passes 
the port through for joysticks or other devic- 
es. Complete with WorkBench software. 
Available now. Suggested list of $39.95. 



'Amiga' is a registered Irademaik of Cammodors-Amiga. 'StarBoard2', StarBoardZ/SOO', 'HanfFmme/SOOO; 'B-UPf, 'PopSimm; "SlarOrive; and 'MouseTime' are trade names of MicroBotics producls. 



9'\^S^'!9Ki::T^i^^- .VTS^iaaiWll ST Wi' 



Aladdin was expecting light 
but what he got was magic. 
Our new software Will also 
deliver more than expected. 



• True dBase III data file and 
program compatibility. 

• Access Amiga® system routines, to 
create mixed data/sound/gifaptiics. 

• dB PRO runs applications faster 
than dBase III. 

• Price is hundreds less than 
dBase 111. 

CALL FOR FRICIM* 




Tor information or dealer inquiries: 

(801) 261-8177 

LAMPLIGHTER SOFTWARE, Inc. 3353 S. Main, Suite 197 . SLC, UT 84115 

dB Pro and Amix are trademarks of Lamplighter Software Inc. Unix, dBase 111 and Amiga are not 



AmigaNotes 

A Back To Basics Look At Sound 



by Rick Rae 
CIS (76703,4253) 




Sound-What If Is 
And How To Make l\ At Home 
"Purist digitizers" do rot have to 
understand sound as long as they 
acknowledge the limitations of the 
digitizing system used. For the rest of 
us, however, having a firm back- 
ground in the theory of sound makes 
it easier to mimic traditional instru- 
ments and modify digitized samples. 

Sound, according to Webster, is "the 
sensation perceived by the sense of 
hearing." We are bombarded by 
sound 24 hours per day, 365 days per 
year. Even while lying in bed at 
night, a time you would think of as 
quiet, there are sounds — the ticking of 
the grandfather clock, the hum of your 
calculator's AC adapter, the gentle 
murmuring of crickets outside. Tlie 
closest we can get to real silence here 
on Earth is in an anechoic chamber, a 
perfect acoustical sink which absorbs 
sound before you can hear it. 

In fact, the human animal is so used 
to a constant stream of sound that to 
have it taken away is an unnerving 
experience. Most people begin to feel 
oppressed after being in such a 
chamber for only a very short period. 
Yet, even here we are not free from 
sound. When all outside noises are 
stilled, the sensitivity of the ear adjusts 
and we begin to hear a gentle hiss: 
the rush blood through our bodies. 

Sound, then, is very familiar to us. 
Yet do we really understand it? Why 
does a jet sound different at the 
airport than it does a half-mile away? 



How can we tell the difference 
between the voices of two friends? 
What is it about music that we find 
pleasing? 

Sound is created when an object 
displaces air or another medium and 
changes its pressure at a rate which 
falls within the audible range. Tradi- 
tional musical instruments create 
sound with vibrating surfaces: the 
strings of a violin, the reed of a 
clarinet, the lips of a trumpet player, 
the head of a drum, and so on. This 
vibration results in a cyclic change in 
air pressure, which causes movement 
of the eardrum, a membrane in the 
ear. Nerves connected to the eardrum 
create electrical impulses which the 
brain interprets as sound. 

There are three broad parameters to 
any sound. Expressed in terms of 
physics, they are amplitude, frequency, 
and harmonic spectrum; in terms of 
perception they are volume, pitch, and 
timbre (rhymes with "amber"). 
Although wo will use these terms 
interchangeably, they are not truly 
equivalent. TTie ear's perception of a 
sound's loudness is relative and 
changeable; it is possible to hear 
pitches which do not exist in a sound, 
and varying conditions can alter the 
apparent timbre of a sound. (In fact, 
it should be admitted at this point that 
we still do not understand much of 
the ear's functioning. There are a 
number of interesting experiments one 
can perform in the area of acoustics. 
While the results of some are easily 
explainable, others produce results that 
cannot be fully understood now.) 



Volume and Amplitude 

Volume is the loudness of a sound, 
and is related to how much the air 
pressure is changing. The ear's range 
of perception is fairly wide, about 100 
db. The price we pay for this range is 
sensitivity; the ear cannot detect 
changes in volume of less than about 
10%. The lower limit is called the 
threshold of hearing, close to the 
sound of the proverbial pin drop. The 
upper limit is called the threshold of 
pain, even louder than you would 
experience if you stood on the tarmac 
during a 747 takeoff. 

Obviously, a jumbo jet disturbs the air 
pressure a great deal more than a 
vibrating pin, so we can equate the 
volume of a sound to the amount of 
change in air pressure. Other observa- 
tions bear this theory out. Hitting a 
piano key more heavily makes the 
hammer strike the strings harder, 
causing them to vibrate more vigor- 
ously and produce a louder sound. If 
your stereo speakers have a removable 
grill, you can perform a simple 
experiment. Pull the grill off, put on a 
record or tape with a firm bass line, 
and watch the woofer (the largest 
speaker in a two- or three-way 
cabinet). As you increase the volume 
and /or bass control you will actually 
be able to see the changes in the 
motion; louder sounds are produced 
by greater movement of the cone. 



(continued) 



Amazing Computing V3.4 ©1988 



35 



Frequency and Pitch 

Pitch is where we perceive a sound to 
be within the musical scale, and is 
related to how quickly the air pressure 
is changing. The range of pitches we 
can hear is much narrower than our 
volume range, but we hear them with 
greater resolution — the ear can detect 
pitch changes as small as about 1/ 
10%. The lower limit is around 15 to 
20 cycles per second, or Hertz (abbre- 
viated Hz); below this point we stop 
hearing a tone and begin hearing 
"events" — a rhythm of sorts. The 
upper limit is roughly IS thousand 
cycles per second, or KiloHertz (KHz); 
above this limit the sound just seems 
to fade out (although your dog can 
still hear it just fine, thank you). 

The conclusion that pitch is related to 
the rate of vibration can be reached by 
examining various instruments. The 
bass strings of a guitar are much 
heavier than the treble strings, and 
therefore vibrate much more slowly. 
In fact, if you pluck the lowest string 
of a bass guitar you can see it moving 
back and forth; the high string moves 
faster than your eye can respond and 
is just a blur. The high strings of a 
harp are shorter than the low strings, 
a bass drum is larger than a tom-tom. 
In each case, the lower frequencies are 
generated by an object with more 
mass, which therefore moves more 
slowly. 



Timbre and Harmonic Spectrum 
Timbre is the tone color or "character" 
of a sound, and is related to the har- 
monics or overtones present. The 
range of timbres we can perceive is 
effectively unlimited, and the ear is 
very sensitive to changes in it. In fact, 
we rely on timbre discrimination more 
than we realize. Speech uses inflection 
(changes in pitch and volume) tc 
emphasize and modify meaning, but it 
is almost exclusively changes in timbre 
which convey information — the 
difference between the sound of an 
"o" and an "e" is one of timbre. 



Unfortunately, we cannot look at a 
traditional instrument and intuitively 
understand harmonics; we must resort 
to physics to explain them, and elec- 
tronics to visualize them. 

As we have said, pitch is the rate at 
which air pressure changes. It is the 
way air pressure changes which 
determines the timbre. The simplest 
form of pressure change is represented 
by the sine wave. A sine wave is a 
pure signal containing no harmonics, 
and is perceived as a very dull, 
mellow tone. 

We could explain the sine wave by 
using trigonometry and talking about 
angles and such, but there is an easier 
method. Realize that the sphere is the 
simplest and most efficient shape 
possible; with a given surface area, we 
can enclose more volume within a 
sphere than within any other shape. 
The same is true of a circle. It is the 
simplest and most efficient shape for 
enclosing an area. 

Keeping these concepts in mind, we 
can define a sine wave as simply as 
describing movement around a circle. 
We can visualize it this way: consider 
a baton twirler spinning an upright 
baton with a smoke marker on one 
end. If we look at the baton from the 
side, the smoke will form the simplest 
path which the end of the baton can 
take, a circle. If we look at the baton 
from the end, however, we see only a 
straight vertical line, the way a penny 
viewed edge-on shows a straight line 
rather than a disc. 

Now what happens if our baton 
twirler starts marching? The smoke, 
from our edge-on vantage point, 
draws a sine wave! The gently 
rounded top and bottom are created as 
the smoking end moves toward or 
away from us; the sharply sloped 
center portions occur as the tip moves 
upward or downward very quickly. 
So we see that the sine wave is a 
variant of a circle, which is about as 
simple as we can get. 



Sine waves are also fairly common in 
nature, we can find approximations all 
around us. If we plot the velocity 
against time of a pendulum or a child 
on a swing, we will generate a sine 
wave. A weight bobbing up and 
down on a spring describes a sine 
wave. The ripples on the surface of a 
pond caused by a tossed pebble are 
sine waves. A whistle and the tone 
generated by a tuning fork are also 
sine waves. 

If the sine wave is the simplest 
possible tone, it seems reasonable to 
assume we could use it as a building 
block for more complex tones, and in 
fact this is the case. Within practical 
limits, we can combine sine waves at 
various frequencies and amplitudes to 
create any timbre we desire. Con- 
versely, we can break any timbre 
down into its component sine waves. 
These are the principles behind 
additive synthesis, Fourier analysis, 
and resyn thesis, discussed here a few 
issues ago. 

There are two names for these compo- 
nent sine waves: overtones and 
harmonics. These terms confuse many 
people because they are NOT inter- 
changeable. The sine wave, the basic 
frequency of the tone, is called the 
fundamental when speaking of over- 
tones, and this term is often used 
when speaking of harmonics as well. 
The fundamental is also referred to as 
the first harmonic, which indicates it is 
a frequency of one times the basic 
frequency. 

Most musical sounds are composed of 
harmonically related sine waves, 
where "harmonically related" means 
an integer multiple of the basic 
frequency. So, the next sine wave 
normally found would be twice the 
fundamental. This is called the first 
overtone, meaning the first tone above 
the fimdamental; it is also called the 
second harmonic. Similarly, the next 
frequency would be the second 
overtone or third harmonic, which is 
three times the fundamental frequency. 



Ih 



Amazing Computing V3. 4 ©1988 



You can see where the confusion 
comes in! Just remember that the 
number of a harmonic is the ratio of 
that frequency to the fundamental 
tone, whereas you must ADD one to 
the overtone number to get the 
frequency ratio. Following is a chart 
of the first eight harmonics for the A 
above middle C: 




HARMONIC OVERTONE 
FREQUENCY RATIO 



1 


1st 


Fund. 


EM. 

440 Hz 


T 1 i 


p 


2nd 


1st 


880 H2 


2 


1 m 


m 


3rd 


2nd 


1320 Hz 


3 


^ m 


m 


4th 


3rd 


1760 Hz 


4 


1 H 


M 


5th 


4th 


2200 Hz 


5 


1 m 


p 


6th 


5th 


2640 Hz 


6 


1 M 


p 


7th 


6th 


3080 Hz 


7 


1 N 


i 


8th 


7th 


3520 Hz 


8:1 1 


n 










i 



Now, if you reread the last paragraph, 
you'll find I left myself an out by 
saying "most musical sounds." There 
are groups of sounds which do not 
depend on harmonically related sine 
waves. One such group are the 
clangorous sounds. TT\is category of 
sounds includes gongs, bells, and 
chimes — sounds which have a definite 
pitch but also have a distinctive disso- 
nant component. Another group is the 
unpitched sounds, such as cymbals. 
The sounds are composed of an almost 
infinite number of sine waves, at about 
every possible frequency ratio. 



But It's Not That Easy 
We have seen how every sound can be 
defined using just three parameters: 
volume, pitch, and timbre. I have 
described how a timbre can be broken 
down into its component sine waves, 
and how individual sine waves can be 
assembled to create any timbre. From 
this it should be obvious that we can 
analyze any sound we wish to re- 
create, determine the amplitude and 



Memory designed with some thought ... 

If you're an Amiga 2000 owner, you'd undoubledly like to add more memory to your 
system. After all, the reason you chose the A2000 was for the expandability. The 
question now is "What's the best path for upgrading'?". A 2 meg memory expansion eard 
may seem Ihe cheapest way, but it's loo easily maxed out. You'd like to be able to expand 
beyond 2 megs, but the slicker shock of an S meg board populated with its minimum 
configuration of 2 megs makes this route unappealing as well. The Digitronics EC4 
Ramcaid was designed to solve these problems. The RC4 is auto-configurable as low as 
1/2 megabyte, but as your memory requirements gradually grow, so can your memoiy, in 
steps of 1/2 meg, all the way up to 4 full megabytes of no waii-statc fast memory! 

If you're an Amiga 500 owner, adding memory to your system may seem a bit more 
difficult than simply plugging in an expansion card. Some vendors seem to think it's a 
good idea lo lear open your machine and solder in printed circuit boards, voiding your 
warranty, overheating the inside of the case, and bringing an already ovenaxed A500 
power supply to its knees. Digitronics offers a much better solution. The same RC4 
Ramcard designed to plug into Ihe A2000 can be plugged into the expansion slot on the 
side of the ASOO when installed in our adapter boK. This adapter is a completely enclosed 
low-profile melal case with its own power supply, which can fit neatly under your, 
exicmal AlOlO. This allows for a quick and easy way !o add up to 4 megabytes of fast 
memory to your A500. Best of all, if you should ever decide to move up to an A2000, the 
RC4 ramcard you've been using in your A500 can go along as well. 

The RC4 comes completely assembled and tested, and is fully socketed tor 4 megs of 
256k X 4 DIP DRAMS (Ok installed). Also included is a disk containing memory lest 
software, our own version of a recoverable RAM Disk, and other useful utilities. 



Call or write for pricing of 
boards with various 
amounts of RAM, or 
for information on our 
do-il-yourself kits. 

Dealer inquiries invited. 



D 



POBai5T9 Hatfield, PA 19440 
(215) 3«1-1»»1 



igitronics 



*AMga'a a IradanarkofCatanedan-Ajtuga Inc. 



frequencies of the individual sine 
waves, use these individual sine waves 
to build a new tone, and exactly 
recreate the original sound. 

There is a bit more to it, however! 
Most important is that analyzing a tiny 
"slice" of sound and recreating it 
recreates only that slice. If you stretch 
the result out over time, the odds are 
very good it will sound nothing like 
the original instrument. If you've 
experimented with looping a digitized 
sample, you know the sample sounds 
unrealistic — static and unchanging — if 
you make the loop too small. 

To reproduce a sound accurately, this 
analysis of volume, pitch, and timbre 
must occur almost continuously over 
the entire duration of the sound. A 
note struck on a piano grows louder 
rapidly, then dies away slowly; 
obviously, it would be unrealistic to 
try to make a pipe organ sound like a 
piano, since the organ produces a 



constant volume level. Less obvious is 
that pitch and timbre must also be 
adjustable over the length of the 
sound. Although there is a character- 
istic sound which reminds us of 
violins, it is not constant in any of 
these parameters. The volume 
changes, yes, but the pitch changes 
during the course of the sound, as 
does the tonal quality. To mimic the 
instrument successfully, we must re- 
produce all three parameters. The 
more successful synthesis techniques 
provide us the means for properly 
shaping these parameters over time. 

That's going to do it for now. 

Nybbles... Rick 

•AC" 

ACKNOWLEDGEMENTS 

I'd like to thank Bernie Hutchins of 
EleciroNotes for the baton twirler analogy. 
It is the most lucid explanation I've yet to 
find of a sine wave. 



Amazing Computing V3A ©7988 



37 




by Todor Fay 




Write a patch librarian module which 
Yamaha synthesizers 



In addition to voice and real-time 
message events, there's a third 
category in the MIDI spec: System 
Exclusive messages. In this article, I'll 
discuss implementing the System 
Exclusive protocol in the SoundScape 
environment, and write a patch 
librarian module which can load and 
save patch information from Yamaha 
TX81Z, DX21, DX27, and DXlOO 
synthesizers using System Exclusive 
dumps. I'll also discuss the issues that 
crop up when you write SoundScape 
modules with the different versions of 
the Lattice and Aztec compilers. 

This is fourth in a series of articles on 
programming music for the Amiga 
with SoundScape. To better under- 
stand what follows, I recommend that 
you read the previous articles, espe- 
cially the first one (AC V2o). 



System Exclusive 

The standard MIDI message types do 
a good job of representing just about 
everything digital musical instruments 
need to commtmicate. However, there 
are always specific types of data that 
individual machines would like (o be 
able to communicate over the MIDI 



Patch information is a good example. 
If two synthesizers are hooked 
together, it would be nice to transier a 
patch from one machine to the other. 



or to send the patch to a computer for 
editing and storage. But no two 
makes of synthesizer use the exact 
same method for creating sounds. The 
parameter infomnation that makes up a 
flute sound on an additive synthesizer 
would be hogwash to a synth that 
uses an F^ algorithm to generate 
sound. Even if two machines use the 
same method for creating sound, they 
rarely have the same set of parameters. 
So creating a M'DI standard for patch 
parameter information would be just 
about useless. 

Enter System Exclusive. This MIDI 
protocol allows manufacturers to 
define their own standards for shif>- 
ping data particular to their machines 
over the MIDI v/ires. 



How It Works 

Each MIDI packet starts with a status 
byte that defines what style of packet 
it is. System Exclusive uses two status 
bytes. The first indicates the start of 
the packet; the second indicates the 
end of transmission. The second 
marker is needed because the packet 
can be of any length, and a reader 
who doesn't know this particular 
System Exclusive protocol must be 
able to recognize when to resume 
normal operation. 



The code for System Exclusive is OxFO. 
This is followed by the manufacturer 
ID. Each manufacturer has a seven-bit 
identifier. Then the data follows. The 
only restriction on the data is that the 
highest bit always be cleared. The 
MIDI protocol states only status bytes 
can have their high bit set. lif a non- 
real-time status byte (such as Note On) 
appears in the data stream, indicating 
the end of System Exclusive, just as 
the normal end marker would which 
has a value of 0xF7. 



System Exclusive and SoundScape 

The SoundScape Patch Panel does not 
support System Exclusive messages. 
There are two good reasons for this. 

System Exclusive messages can be of 
any length. Obviously, the standard 
SoundScape Note packet, which holds 
up to only three bytes, cannot be used. 
Any solution that involves a fixed 
buffer size would be invalidated by a 
larger packet. The sky's the limit 
these days with MIDI sample dumps, 
A variable buffer size would make 
sense. A System Exclusive packet 
would have a pointer on a buffer and 
a count of how large it is. It would 
work, except in the case of interrupt 
routines, which cannot allocate 
memory from the system. Unfortu- 
nately, it's the serial port interrupt 
routine (which receives MIDI from the 
outside world) that would need to 
allocate some arbitrary length buffer. 



38 



Amazing Computing V3A ©1988 



can load and save patch information from 
using System Exclusive dumps. 




There's no need for System Exclusive 
when communicating within Sound- 
Scape. For the style of data transfer 
that the System Exclusive protocol 
provides, EditMidiPort calls make 
much more sense. For example, if the 
CrossFade and Sampler modules (see 
my second article, in AC V2.9) were 
separate hardware devices communi- 
cating over MIDI, they would use 
System Exclusive dumps to transfer 
the sample dump information back 
and forth. However, as modules 
within SoundScape, they can do that 
much quicker with EditMidiPort calls. 

To communicate with the outside 
world, SoundScape does need to read 
and write System Exclusive messages 
from the serial port. The serial MIDI 
module was designed to let other 
modules control the reading and 
writing of System Exclusive packets 
through EditMidiPort calls. 



Manipulating the Serial MIDI Port 
As with most SoundScape modules, 
the Serial MIDI port has a structure 
for passing information back and forth 
with EditMidiPort calls. 



struct MldiState { 
long length; 
long midinskew; 
char 'sysejtlnbuffer; 
long sysexlnslxe; 



long sysexlncount; 
long sjfsexlnport; 
char 'sysexoutbuffer; 
long sysexoutsize; 
long sysexoutcount; 



All of these parameters can be ac- 
cessed and edited. 

Length - This gives a count of how 
many bytes follow in the structure. 
Programs, such as the environment 
load and save (which don't know 
about specific modules), can still read 
and write within the structure. 

Midinskew - This offset is added to 
the channel number of all incoming 
channelized messages, modulo 16, to 
create a new channel. For example, if 
midinskew is 2 and a Note On event 
comes in on channel 3, the Serial MIDI 
port passes it on as a Note On event 
on channel 5. 

The remaining parameters are used for 
System Exclusive messages. 

Sysexinbuf fer - This points to a buffer 
supplied by another module (yours?) 
used for storing a system exclusive 
message coming in. It is initialized to 
0, so System Exclusive events are 
normally discarded. 



Sysexinsize - This is the size, in bytes, 
of the sysexin buffer. When you give 
the Serial MIDI port a buffer to read 
into, you must also let it know how 
big it is. 

Sysexincount - This is managed by 
the port. Initialized to 0, it increments 
every time another byte comes in and 
is added to the buffer. You must 
initialize it to 0. 

Sysexinport - This is the port ID of 
the module that set up the buffer. If 
you give the Serial MIDI port a buffer 
to fill, you need to tell it who you are. 
When a complete System Exclusive 
packet has come in, a SYSTEMX 
packet will be sent to you, notifying 
you that the packet has arrived. 

Sysexoutbuffer - This is for sending a 
System Exclusive packet. You give 
this a pointer to the buffer you 
provide. 

Sysexoutsize - This is the size of the 
buffer. 

Sysexoutcount - The output routine 
increments this to show how many 
bytes of the packet have been sent. 



(continued) 



Amazing Computing V3.4 ©1988 



39 




To receive a System Exclusive packet, 
create a MidiState structure and buffer 
that is large enough to hold what you 
expect to receive. 

mldlstate = ftllocMerajslzeof 

(struct MidiState), MEMF_PUBLIC) ; 

buffer = AliocHem 

(BUFFER SIZE,MEHr PUBLIC}; 



Call EdJtMidiPort with a GETSTATE 
command to initialize the structure. 
You may find that the sysexinbuffer is 
already being used by somebody else, 
in which case you can do no more 
than to install the buffer with a 
SETSTATE command. 



EditMldiPortCFindMldiPort 

("serial nidi"! , D, GETSTATE, midlstate) ; 
if (taldistatB->sysexinbuf ferl ( 
FreeMem(bllffer,BUFFER_SI£E) ; 
FreeMem (midistate, sizeof 

(struct MidiStatel : : 
return; 
) 

midistate-^aysejcinbuf fer - buffer.' 
niidistate->sysexinsize - BI;FFEB_5IZE; 
iiiidistate»>sysexincaunt - 0; 
Tflidistate->sy3exinport - thisport; 
EditMldlPort (FindMidiPort 

(-aerial nddi") , O.SETSTATE.nidlstate) ; 



Now the port has been initialized and 

is ready to receive. Once it has read 
in a complete packet, it will send a 
SYSTEMX message (without any data) 



through the Patch Panel to you. Then, 
if you are not sure how many bytes 
came in, execute an EditMidiPort call 
to read the sysexincount value. The 
buffer will be filled with the system 
exclusive dump, with the exception of 
the System Exclusive status bytes (at 
the beginning and end), which are 
stripped out. 

Sending a packet is somewhat easier. 

Once again, you allocate a buffer. Put 
your data in it and install it with a call 
to EditMidiPort. Don't include the 
System Exclusive status bytes in the 
message; they will be added automati- 
cally. The call to EditMidiPort does 
not send the packet; it only sets things 
up to send it. You trigger its trans- 
mission by sending a SYSTEMX packet 
through the patch panel to the Serial 
MIDI port. 



midistate - AllocHemlsizeof (struct 

KidiEtate),MEHr_PUBI,IC) ; 
buffer - AlloeMaB(BUFFER_SI2E,HEMF_PUBLIC:); 
/• Code to fill the buffer •/ 

EditMidiPort ( FindMidiFort 

("serial midi") ,0, GETSTATE, midistate) ; 
if (ird-distate->3ysexoutbuf fer) ( 
FreeMem (buffer. BUFFER_SIZE) .- 
FreeMera (mldistate, sizeof 

(struct MidiState)!! 
return ; 
1 

raldistate->3ysexoutbuf fer - buffer; 
r!\idlstate->SYsexoutsize - BUFPEft_SI3B; 
midistate->sysexoutcount " 0; 
EditMidiPort ( FindMldiPort 

("serial midl") ,0, SETSTATE, raidi state) ; 
note - AHocHode(NOTE| ,- 
note->3tatu3 - SYSTEKX; 
outMidlPorc (FindMidiPort 

( "serial raidi" ) , note] ; 



Although the serial MIDI port sends 
most System Exclusive messages just 
fine, there can be situations where it 
won't work. Some synthesizers 
require a handshake protocol for 
uploading and downloading bulk data. 
Unfortunately, instead of sending 
individual system exclusive messages 
for each of the steps in the protocol, 
they just have two long, interwoven 
System Exclusive messages (one 
coming, one going). The receiver has 
to understand an incoming packet in 
order to reply accordingly, but a 
generic System Exclusive port, such as 



the Serial MIDI port, simply waits for 
the end of the packet. This can result 
in deadlock. 

There's another problem. With very 
long packets, sometimes a byte is 
dropped. Although the interrupt 
routine runs at a reasonably high 
priority, it may gel preempted long 
enough by DMA hardware or other 
interrupts to lose a character. As it 
turns out, the only way to get around 
this and receive aU the data reliably is 
to turn off all interrupts and poll the 
serial port directly. 



A Different Solution 

We'll write our own System Exclusive 
reading and writing routines, so we 
are free to tailor them to any 
manufacturer's protocol, and we'll poll 
the port directly. 

Since we are going to deal directly 
with the serial port, we need to know 
a bit about the hardware in the 
Amiga. There is a file called 
"custom.h" in the include: hard ware 
directory of Amiga C development 
environments. In it is a structure 
called Custom which maps onto all of 
the registers in the custom chips. 
Instead of reading or writing directly 
to hard coded addresses, you can read 
and write to fields in the custom 
structure. The serial port is in the 
custom hardware, so we read and 
write registers in the custom structure. 

The serial port registers arc: 

custom-serper - This sets the baud 
rate. Since SoundScape has already set 
it to the MIDI baud rate, you can 
leave it alone. 

custom.serdatr - This is the serial data 
read register. It is a sixteen-bit 
register. The low nine bits are the 
serial data bytes coming in, while the 
upper seven are status bits. Of those, 
we'll use bits 14 (read buffer full) and 
13 (transmit buffer empty). 



(continued) 



40 



Amazing Computing V3. 4 ©1988 



Integrated Music Software 
for AMIGA computers 




IIIIIIIMI I 

liiSHiSSEI t, ' ' ' 



ctll)gil!!ll 

iiiiEiiiiiii 

lEBEBiiSiH 



dllilllSM! 



Jitt t#i 4uil Iwil 

Tllkni 10*1 i> »*H 



Sequencer 

• 16 Tracks 64 Individual Sequences 
ACCURATE timing 1/192 note resolution 

- User definable time signature for each track 

• Extensive Track Manipulation Functions 

• Quantize (3 methods) • Time Stiift 

• Controller Scalino • Merge 

• Ectio • Randomizing Functions 

• Built-in System-Exclusive Librarian 





Drum Machine 

- Eliminates thie need for costly external drum machine 
I (uses the Amiga's internal sound channels) 

200 digital drum samples included or use any IFF 
(one-shot format) standard file. All Amiga samplers 
support this standard 

• Graphic Editing of Drum Patterns 

• Adjustable tuning and volume ranges for each drum 

• Velocity Sensitive (using external MIDI keyboard) 

I 

Event Editor 

• Text Editing 
• Translates MIDI data into easy to understand statements 

I • Modify, insert or deiete any type of MIDI data 

Graphic Editing 

• insert, delete and edit notes visually 

I • Displays track In "Piano Roll" gropti 



AVAILABLE NOW! »".^ $199.95 



No Copy Protection 

1 Megabyte Recommended 




RD. Box 438, St. Clair Shores, Michigan 4SOBO. (313) 771-4-465 



MOVING? 




SUBSCRIPTION PROBLEMS? 



Pleose don't forget to let us know. 
If you are: traving a problem with your 
"subscription or if you are ptarining to 
move, please write to; 



Amazing Computing Subscription Queillons 
PiM Publications, Inc. 

P.O. Box 869 
Fait River, MA 02722 i 



Pbaso remember vje carrot mol your rrogcszi-e 
to you If we do rxjt knew wtere you ere. 



pieoK dkiw foU to sir wooltj Itx pmeesh):' 



custom.serdat - This is the serial data 
write register. When data is placed in 
this, it immediately starts shifting out 
(as long as nothing was ahead of it). 

custotn.intreq - This is the interrupt 
request register. Whenever a byte is 
read in, the receive buffer full bit must 
be set to indicate you have read it. 



Reading from the Serial Port 

Reading the serial data by polling the 
port is very simple. Here is a descrip- 
tion of the steps required: 

* Disable the interrupts so nothing can 
block the way or steal time. With the 
interrupts disabled, task switching 
can't happen. 

* Poll bit 14 of custom.serdatr to see if 
a new byte is in. When one comes in, 
read it and put it in the buffer. Set 
the receive buffer full bit in the 
custom.intreq and loop until the entire 
packet has been read in. 

* Enable interrupts and leave. 

Disabling interrupts can be dangerous. 
There should be a way to abort 
without having to wait for a packet. 
The obvious solution is to abort on a 
click of the mouse, so be sure the left 
mouse button has been pressed. We 
obviously can't wait for an Intuition 



event, since task switching is turned 
off. Instead, read the button directly. 
The left mouse buttons for the two 
mouse ports are read by pins 6 & 7 of 
peripheral data register A of the 8520A 
peripheral interface adapter chip. 

There is also a structure that defines 
the registers found in the file "cia.h" 
in the include:hardware directory. The 
field in this structure we need to read 
is called ciaa.ciapra. When the mouse 
button is down, bit 6 or 7 goes to 0. 

Here's simplified code to read serial 
data into a buffer and leave, either 
when the buffer is full, or when the 
mouse is clicked: 



extern struct ciA claa; 
extern struct Custom cuatora; 
char buffer [BUFFER_SI2E); 
int ij 

Disable O; 

/" Loop to fill buffer. ■/ 

for(l-0;i<SUF_SI2E,-H-+) ( 

/■ Wait for the aerial in register to 
rill. */ 

while (I {cuBton.aerdatr i 0x4000} { 
/• Check the mouse button. */ 
if ((^claa.pra) ( OxCOt I 
Enable 1); 
return; 
) 
1 

/■ Get data. V 
bufferti] - cuatora. serdatr; 
cuatom. intreq - 1Ntf_bbf; 
( 
Enable (I : 



This routine is a little simpler than we 
want it because we need to strip out 
non-System Exclusive messages and 
return when the message is complete, 
rather than when the buffer is full. 



Writing to the Serial Port 

There's no longer any danger of losing 
data because we are sending it. We 
don't have to do anything awful like 
disabling interrupts. We will send by 
shoving data directly through the 
custom.serdat register and polling the 
transmit buffer empty bit to know 
when to send the next byte. We could 
write a transmit interrupt routine — but 
that's too much work for a very small 
gain. 



Here's a routine that sends a block of 
data out: 

extern struct CuatQim custom; 

int i ; 

char buffBr(BUFFER_SIZElj 



for (i-0;i<BUFFEBSIZE,-i+t) ( 

/" Wait tor transmit buffer 
empty. ■/ 

while f 1 (ciiatoin.serdatr & OxZOOO)); 
/* Set bits 8 and 9 to create 
stop bits, '/ 

custom.serdat - bufterli] I 0x300; 
1 



Wow! That's simple! 



A TX81Z/DX21/DX27/DX100 
Patch Librarian 

I have a Yamaha TX81Z. It's a very 
nice rack mount synthesizer. To keep 
costs low, it loads and saves patches 
to cassette, and is programmed 
through a very limited collection of 
eleven buttons and an LCD display. It 
was designed with computer hookup 
in mind. The MIDI System Exclusive 
implementation is complete. Individ- 
ual patches can be loaded and saved 
through MIDI. Entire banks of sounds 
can be saved or loaded. Performance 
and voice parameters can be individu- 
ally altered through MIDI. The list 
goes on... but since we're writing a 
patch librarian, we'll limit ourselves to 
loading and saving a single voice. 

The TX81Z/DX21/etc. aU use the same 
design to generate sound. As a result, 
they share the same system exclusive 
format for a single voice. Here's the 
single voice format (in hex): 

FO System exclusive start command 

43 Yamaha ID number 

On Bulk data on channel n 

03 I Voice (VCED) command 

00 Data size, high 7 bits 

50 Data size, low 7 bits 

XX Data bytes - all the 

parameters of one voice 

XX Checksiim 

F7 End of Syst. Exclusive command 



42 Amazing Computing V3. 4 ©1988 



All told, there are 101 bytes in this 

message. 

If one of these messages is received by 

the synthesizer, it automatically 
replaces the current sound in the edit 
buffer with this one. And, when a 
patch change is selected by the user, 
the synthesizer automatically sends 
this message. 

There is also a message that can 
request that a voice dump be sent. 
This comes in handy for librarians, 
which use it to retrieve data automati- 
cally without requiring the user to 
push buttons. 

Here's the format of the VCED dump 
request message; 

FO Syst. exclusive start command 

43 Yamaha ID number 

2n Bulk data dump request on 

channel n 
03 1 Voice (VCED) dump type 
F7 End of System Exclusive 

command 



We'll use this command in our 
program when saving synthesizer 
parameters to disk. First, this request 
command is sent, then the synthesizer 
replies with the data. 



What the Module Does 

Our SoundScape module is quite 
simple. Like most SoundScape mod- 
ules, it sets itself up as an icon on 
both sides of the Patch Panel. To load 
a sound bank from the synthesizer and 
save it to file, the user clicks on the 
left icon. A file requester opens, 
asking what file name to save to. The 
user selects a name and a message is 
displayed, saying that it is receiving 
the voice and requesting that the user 
click on the left mouse button to abort. 
Meanwhile, it sends a dump request to 
the TX81Z/DX21/etc., which replies 
with the data. The message goes 
away and the data is saved to disk. 



To load a sound bank from disk and 
send it to the TX812/DX21/etc., the 
user clicks on the right hand icon. A 
file requester opens with a list of files 
that have been saved to disk. The 
user selects a file to send to the 
synthesizer. With all of the voices 
kept in one directory, it makes for a 
simpler librarian, where the user 
selects voices to load by file names. 

When an environment save command 
is issued, the librarian has the user 
download from the synthesizer and 
save to disk. The environment load 
command automatically loads the bank 
from disk and sends it to the synth. 



The Program 

From this article and previous ones, 
we have all the information we need 
to write our module, except one detail: 
the file lO, which brings us to three 
more SoundScape routines. 

HeadFlleNajne (PlleHamerPraTipt, renipiate) 

This will put up a file read requester. 
FileName is a character array which 
you provide. The file name will be 
written into it, so make it at least 70 
bytes long. Prompt goes into the title 
bar of the window. For this example, 
'TX81Z/DX Voice" would do. Tem- 
plate is also a string that defines what 
extension is attached to the files it is 
looking for. For example, if Template 
is "hello," all files that end with 
".hello" will be displayed. So, if 
"goodbye.hello" and "jellofellow.hello" 
exist on a disk, then "goodbye" and 
"jellofellow" would be displayed in 
the file requester. The user can click 
on the desired file or select another 
directory to look in or abort the file 
load. If the file load is aborted, 
FileName returns with its first charac- 
ter cleared. If FileName[0] is not clear, 
FileName holds the full file name to 
load, including the directory path. 

One of the nice things about this 
requester is it keeps file names 
around, so when you open it a second 

(continued) 



THE BIG 
PICTURE 




"THE BIG PICTURE" 

Print your IFF/HAM pictures in 
full color up to 104 feet x 104 
feet. "Real" multiprocessing and 
overscan printed because printing 
is done fronn tfie file not the 
screen. 

$29.95 for tfie following printers 
in one package: 

Canon PJ1080A / Okidata 20 color / Radio 
Shack CGP-2201 / Quadram Quadjet / Epson 
FX-80 FX-100. EX-800, EX-1000 / Fujistu 1200, 
2300. 2400 / NEC P6, P7. CP7 / XEROX 4020 

ATI-LINK 

An IFF/HAM to TARGA file 

conversion program only $50.00 



Perlerances Dnve 

Quadram Quadjet S30.00 NEC CP7 $50.00 

HP Paint Jet S50.00 NECCP6S30.00 



Gig PiciiiW IS a Irademarfc of Lightning Putjitshmg, Amiga is a fPijdterKj 
(rademark q\ CwnmoflOffi LID Targa is 3 re^isterHJ iradematk o( Ar i T 

Lightning Putilishiiig 

1821 N. Ohio St., Arlington VA 22205 
(703) 534-8030 



Name 
Address 



City 



Slate 



2ip 



AfliounI 



Pragram 



Amazing Computing V3.4 ©1988 



45 



time it doesn't go back to disk and grind through every- 
thing again (which means that our librarian keeps the list of 
voices around). 

WriteFileHamelFlleJI«me, Prompt, Template) 

This puts up a save file requester which displays the name 

of the last file of this type loaded. The user can either 
request to save to that file or type in a new file name. 
Once again, the name is returned in FileName, Prompt is 
displayed in the title bar, and Template is appended to the 
file name after a dot. 

For the TX81Z/DX21/DX27/DX100 files, we'll use a 
template of "txSlzvoice." 

FunctionCall(Routine,Parainl,Param2,...) 

AmigaDos has one annoying feature: Tasks cannot do disk 
or console lO. You may have run into this before when 
the system crashed after you tried to call printf from a task 
you created. 

When a module's user edit routine is called, SoundScape 
creates a task to handle it, so that multiple modules can be 
edited at the same time. This means that if your routine 
intends to do any disk lO, it might have some talking to do 
with its Maker. 

Fortunately, there is a solution. Pass the address of your 
routine that does the disk lO and any parameters to Func- 
tionCall. The routine will be given to a process that does 
the 10 for you. Make sure only to send the disk iO routine, 
not the larger procedure that puts up a window and waits 
for the user to make a decision. Thc;re is only one process 
that is available for FunctionCall; if you hog it, other 
modules will have to wait before they can use it. 

That's it. See the listing for tx.c to see how everything pulls 
together. 



What Next? 

Now that you have the tools to do System Exclusive dumps 

from SoundScape, it's easy to see where you can go from 

here. 

If you don't have a TX81Z, but you have a Casio CZlOl, 
Yamaha DX7, or Granola XJFrap, consult the system 
exclusive implementation In the user manual and edit this 
program so you can use it with your machine. 

If you do have a TX81Z, you can immediately expand it by 
supporting more of the data dump formats (there are some 
extra features the TX has that the DX21/DX27/DX100 don't 
have). 



Turn this into a full fledged editor/Ubrarian, where you can 
not only load and save patches, but edit them as well. It's 
surprisingly easy to do; just put up an Intuition window full 
of gadgets for all the parameters of one sound. If you use 
PowerWindows to design your window, you might have the 
whole thing done in one afternoon. 



Compiler Issues 

I probably should have talked about this in the first article. 
You can write your SoundScape modules with all versions of 
both the Aztec and Lattice compilers. However, there are 
some differences that need to be observed. 



Parameter Passing 

All SoundScape routines receive their parameters as thirty-two 
bit entities. If you are compiling with Aztec, make sure all the 
integers passed are long. Also, make sure the routines you 
call from SoundScape receive long integers. The new Aztec 
has a portability mode switch; I recommend that you use it. 

Register Trashing 

This can be a real headache if you don't understand it. 
SoundScape obeys the Amiga register trashing conventions 
whereby DO, Dl, AO, and AT are scratch registers. When 
leaving a routine, all other registers must be returned to the 
state they were in when entering. This can create problems, 
because SoundScape calls routines that your module provides. 
If your module oats A4 for lunch and then burps all over D5, 
SoundScape will lose its appetite — and the Guru will make a 
house call. This problem occurs with Aztec 3.20, which con- 
siders A6 and D3 to be scratch registers. In addition, Aztec 
3.20 needs A4 loaded with its Data Segment pointer. So 
SoundScape should provide your Aztec module with a prop- 
erly initialized A4 register, which it doesn't. 

The solution isn't loo complicated. Your Aztec code needs to 
call two routines. On entering an Aztec function called by 
SoundScape, call "enteraztecO", which puts most of the 
registers on the stack and loads A4 with the proper pointer. 
When leaving your routine, call "leaveaztecO." This reloads 
the saved registers from the stack. 



_enteraztee 

lBove.l (spl+,dD ;save return address, 
movem.l d3/d4/d5/d6/d7/a3/a4/'a5/a6,-(sp) 

move.l * Dorg,a4 ; load data pointer. 

add.l #32766, a4 ; set It to data. 

IBove.l dO,-(sp1 ; set return address, 

rts ; done. 

_leaveazt6c 

move.l lsp)+,dO ;save return address, 

movem.l (Spt+,d3/d1/d5/d6/d7/a3/a4/a5/a6 
move.l dO,-(sp) ; set return address. 

rts 



44 Ajnazing Computing V3.4 ©1988 



Use the routines when entering and leaving your opencode, 
closecode, outcode and editcode routines. If you use Func- 
tionCall, put these in the function that has been called (since 
it is called by another process), which is handy when you are 
writing code that is called by the operating system. 

With Aztec version 3.40, you no longer need these routines. 
You must, however, compile vAih the super portability flag 
+p. This accomodates large code and data, 32-bit integers, 
and also saves the D2 and D3 registers. 

Different Libraries 

There are three library sets to link with; be sure to use the 
right one. One is for Lattice, one is for the old Aztec and 
one is for the new Aztec. All are on PcoplcLink & Amicus. 



(c) 1987 Todor Fay 



•/ 



llnclude "exec/types. h" 
llnclude "exec/exec. h" 

• include "hardware/custom. h" 

• include "hardware/cia. h" 

• include "exee/lncerrupts. h" 

• include "exec/raemory.h" 
•include "hardware/intblts.h" 

• include "llbraries/dos.h" 
•include "Intuition/intuition. h" 

• include "soundscape.h*' 

extern struct CIA ciaa; 
extern struct Custom custom; 

/* The state structure for this module has just the 

file name for saving a TX81Z (or 0X21/27/100) voice. 
Whenever an environment save command (SAVESTATE) 
occurs, the file that the voice was saved in is 
returned here. When an environment load comrar.d 
(LOADSTATE) happens, the file that is given here 
will be loaded by this module. 



struct SynthState ( 
long length; 
char fllenanie[701; 

I; 

/* Initialise the file name as empty. */ 

static struct SynthState synthstate - ( 70,0, If 

/* The port id for this port. */ 

static short thisport; 

/• The icon in the Patch Panel. */ 

/* 32 X 12 '/ 



UWORD txBizdataf] - { 

0, 0, 

0, 0, 

0, 0, 

0, 0, 

0, 0, 

0, 0, 

0, 0, 

B078, 32752, 



JUMPDISK 

The Double 

JGMPDISK is the original disk magazine for the 
Amiga' . Every month for 20 months: NEW ready-to-run 
programs, articles, tips, reviews, art and music. 

— Get the current issue for $9. 

— Or for just 53, try the JUMPDISK SAMPLER. 

— Best of all, order the 5 1 DOUBLE, both the current 
issue and the Sampler. Two disks. Crammed. 

IF YOa DON'T LIKE WHAT WE SEND, RETOfiN IT 
FOR FULL REFUND. 



Order from: 




JUMPDISK 

1 493 Mt. View Ave. 

Chico, CA 95926 



— Not convinced? Get our Big Emotional Pitch mailed to you by 
either writing us at the address above, or calling us at 
(916)343-7658. 

— We ship day order is received. Personal check OK. 

— Amiga " ii a itgisierwj trademari, ot Conurowlorc-Ainiga. 

— Look, Ma. I'm programming! 



12486, 


448, 


8070, 


1792, 


12486, 


7168, 


8079, 


327S2, 


16383, 


S7344, 


224, 


0, 


231, 


28672, 


227, 


57344, 


225, 


49152, 


227, 


57344, 


231, 


28672, 


0, 


32752, 


0, 


448, 


0, 


1792, 


0, 


7168, 


0, 


32752, 


1; 





struct Image txSlzlmage -10,0, 32,12, 2, tx81zdata, 3, 0,0 ); 

/* We need to be able to display messages to the user. 
For example, "Sending the voice...". Two 
routines handle this. Onmessage opens a window 
and displays the given strings. Offmessage 
closes that window. Here Is the window declaration. 

*/ 

struct NewWlndowNewWindowStructure - I 
134/35, 
336,66, 
0,1, 

NULL, 
ACTIVATE, 
NULL, 
NULL, 
-TX81Z/DX21/DX27/DX100 Librarian", 



(cxmtinued) 



Amazing Computing V3.4 ©1988 



45 



NULL, 
NOLL, 
5,5, 

640,200, 
WBENCHSCREEN 



1; 



Struct Window "messagewlndow - 0; 

void omnessage (stringl, strlr.g2) 

/* Opens a wlndoM and prints the message. 

Window is closed by of fmessage () ■ 
*/ 

char stringl [] , string2[l; 



static struct IntulText text = ) 2,0, JAM2, 0, 0, 0, 0, 1; 
inessagewlndow = (struct Window *) 

OpenWindow (SNewWlndowStructure) ; 
if (messagewindow) ( 

text.IText <^ stringl; 
PrintlText (messagewlndow->RPo;:t, itext, 20, 20) ; 
if (strlngZ) { 

text.IText = string2; 
PrintlText (messagewindow-:-RPort, stext,20,30) ; 
) 



) 



} 



void of fmessage () 

/* This just closes messagewindow if it is open. */ 



( 



If (messagewindow) ( 

CloseWindow (messagewindow) ; 
i 
messagewindow = 0; 



opencode (direction) 

/* Routine to open this modules' s port in the 
direction specified. Always return TRUE 
for success, 
*/ 



chiar direction; 



return (1) ; 



I 



closecode (direction) 

/* Always close successfully, */ 

char direction; 

1 



return (1) ; 



) 



unsigned long processbyte (buffer, maxlength,raidiindata) 

/* When a data byte comes In, this routine is 
called to process it. Buffer is a pointer 
to an array to store the data in. Maxlength 
is the size of that array. Midiindata is 
the data byte that just came in. 

The static variable sysexon keeps track of 
whether we are currently reading a system 
exclusive pacltet. It is initialized to 



FALSE (0) . when a System Exclusive status 
byte comes in, sysexon is set. When the 
end of the pacltet Is reached, sysexon is 
turned off again. 

The static variable length keeps track of 
our presence in the array. It is not 
allowed to become greater than maxlength. 

Return if still reading or about to 
read the packet. Return the length when 
the packet end has been reached. 



register unsigned char "buffer; 
register unsigned long maxlength; 
register unsigned char midiindata; 



) 



static unsigned long length; 
static char sysexon - 0; 

/* Is this a status byte? */ 
if (midiindata s OxSO) ( 

/* MIDI real time event? "/ 
if (midiindata >= CLOCK) ( 
return (0) ; 



/• End of packet? ' 
else if (sysexon) ( 
sysexon » 0; 
buffer[length++) 
return (length) ; 



midiindata; 



1 
/• Start of packet? »/ 
else if (midiindata -- SYSTEMX) ( 
sysexon - 1; 
length - 1; 
♦buffer - SYSTEMX; 
1 
1 

/* Read data. •/ 
else if (sysexon) ( 

if (length < maxlength) ) 

buffer[length++l - midiindata; 
) 
) 
return (0) ; 



unsigned long ReoelVeSysEX (buffer, maxlength) 

/* To receive a system exclusive buffer, 
disable interrupts and poll the serial 
port and mouse button. Whenever a data 
byte comes in, pass It to the processbyte 
routine, which deals with it appropriately. 
Once the packet is in, return the length. 

*/ 

register char *buf fer; 

register unsigned long maxlength; 



register unsigned char c; 
unsigned long length - 0; 
Disabled; 
for (;;) { 

while (! (custom. serdatr t 0x4000)) { 
if ( (-ciaa.clapra) £ OxCO) ( 
Enable () ; 
return (0) ; 



) 



) 



c = (unsigned char) custom. serdatr; 
custom. intreq = INIF_RBF; 

if (length - processbyte (buffer, maxlength, c) ) 
break; 



46 Amazing Computing V 3. 4 ©1988 



Enable [) ; 

ret urn (length) ; 



void SendSysEx (buffer, langth) 

/• First, set the priority of this task to 
higher than the SoundScape packet router 
so there is no danger of SoundScape sending 
a MIDI pacltet at the same time. 

Then, send all the bytes in the buffer, 
polling the buffer empty bit before 
sending each byte. 

When done, bring the priority bac)t down. 



'NEW" PRINTED 3.5 " SHUTTERS 



register char "buffer; 
register unsigned long length; 



register long oldpri - SetTasltPrl (FlndTask (OJ , 21) ; 
register unsigned long 1; 
for {i-Q; Klength; 1 + + ) 1 

while {[ (custom. serdatr s 0x2000)); 
custom. serdat - bufferfi] ! 0x300; 
) 
Set TaskPrl (FlndTask (0) , oldpri) ; 



void dosomething (direct Ion, filename) 

/* This routine Is called to either read 
a voice from disk and send It 
to the synth, or read a voice from 
the synth and store It to disk. 

Direction is set If we are to 

store a sound to disk, otherwise cleared. 

A filename may be given (the case for 
environment loads and saves) . If 
so, the variable filename will have 
that file name in it. If there Is 
no filename (fllenamelO] ==■ 0), 
put up a requester with a call to 
ReadFileName or WrlteFileName. 

If saving a voice to disk, first 
send a dump request to the synth. 
Then read the system exclusive packet 
that comes back. There is a danger 
that no synth Is hooked up, or that the 
wrong data Is returned. If this happens, 
the length of the data returned will not 
be 101, so don't save It to file. 

If sending a new voice, just read 
It from file and send the data. 



char direction; 
register char filename [ ] 



register long buffer; 

register long file; 

static unsigned char dumprequest [ J - 

( OxFO, 0)443,0x20, 0x03, 0xF7(; 
long length; 

buffer - AllocMem(200,MEMF_PUBLIC); 
if (buffer) ( 

if (direction) ( 

if (!fllename[0]) 

WrlteFileName (filename, "TXBIZ/DX Voice", 
"txSlzvolce") ; 



CORPORATE 

CUSTOMERS 




SOFTWARE 
DEVELOPERS 



Permanent Identification of your Company, 
Information, or Products. 



SOFTWARE DUPLICATION/PACKAGING 



3.5"/ 5.25" /HIGH DENSITY 



WEST COAST TELECOM 
CALL: (503)620-1888 



if (fllenametOl) ( 

onmessage ("Getting a Voice... ", 

"Click mouse to abort"); 
SendSysEx (dumprequest, 5) ; 
length - ReoelveSysEx (buffer, 200) ; 
off message () ; 
if (length -- 101) ( 

file - Open (filename, MODE_NEWFILE); 
If (file) ( 

Wrlte(file,tlength,4); 
Write (file, buffer, length) ; 
Close (file); 



1 



) 



if 



i ( 

if (!filename[01> 

ReadFileName (filename, "TX81Z/DX Voice" 

"txBlzvoice") ; 
(fllenamefOl) I 

file - Open|filenarae,M0DE_0LDFILE); 
If (file) ( 

Read ( CI le,£ length, 4) ; 
if (length — 101) | 

Read (file, buffer, length) ; 
Close (file) ; 
onmessage ("Sending the Voice., 
SendSysEx (buffer, length) ; 
of fmessage () ; 



,0); 



1 



1 



) 
FreeMem (buffer, 200) ; 



(continued) 



Amazing Computing V3.4 ©1988 



47 



Now Open In Texas! 



The mqst complef© /linnlga 
with the 



store in the country- 
most competitive pricing. 



Over SOO soffwhro titles In stock. 

Wide selection ol t\arciwara, accessorlas, and books. 

Write or call foi a catalog. 




K 



Come to our Grand Opening! 

10am-6pm Saturday & Sunday April 23 & 24. 

D<x>r prizes and ipeclal event* hcluding demoj and 

talk! by leading tottwarci developers. 



Amazing Gomp^ter Systi 

Frankford Villcigo ShoppinftCenter 
3030 North Josey Lane Sult4 1 44 
(2 doors south of Skaggs) 
Carrollton, Texas 75007 
(214) 394-8383 

Open Man. -Sat. lOam-ipm Thun. lOam-Bpm 

Amazing Computer Syitems n not affiliated in any way with PIM PubScotlons, Inc. 
or Amazing Computing. 




SAVESTATE: 

Another module aslcs this module to save 
files. This usually occurs in tlie 
context of an environment save. This 
time, we get thie sound from the TX812 and 
save It to disk, then return thie file name, 
so that can be stored in the environment 

file. 



char direction, command,- 
struct SynthState "buffer; 



switch (command) ( 
case USEREDIT : 

synthstai;e.filenarae[0| = 0; 
FunctionCall (dosomet hi ng, direction, 
synthstate. filename) ; 
break ; 

case SETSTATE : 

moviRem(buffer,ssynthstate,si2eof (synthstate) ) ; 
break; 
case GETSTATE : 

movmem (Ssynthstate, buffer, si zeof (synthstate) ) ; 

brealc; 
case LOADSTATE : 

movmem (buffer, Ssynthstate, si zeof (synthstate) ) ; 
FunctionCall (dosomething, 0, synthstate. filename) ; 
movmem [isynthstate,buf fer,slzeof (synthstate) ) ; 

brealt; 
case SAVESTATE : 

FunctionCall (dosomething, 1, synthstate, filename) j 
movmem(4synthstate,buffer, si zaof (synthstate)); 

break; 



) 
buffer->length ■ 70; 



void edl t code (direct ion, command, buf f e r ) 

" This, the edit routine, is called under 
five circumstances: 

USEREDIT: 

The user elicited on either tht; left or right 
icon in the patch panel, depending on the variable di- 
rection. Clear 

the Synthstate filename field so there Is no 
current filename and jiake a FtnctlonCall to 
dosomething (direct ion, synthstate. filename) 
which will either load a sound or save 
one. 

SETSTATE: 

This occurs when another module wishes to 
change the data in this module's state 
structure. Simply copy the p.issed buffer 

into synthstate, 

GETSTATE; 

Another module wishes to read the contents 
of this module's state structure. Simply 
copy synthstate Into the passBd buffer. 

LOADSTATE : 

Another module asks this module to load 
files. This ususally occurs in the 
context of an environment load. Once again, 
a buffer Is passed and the data from it 
is copied into synthstate. This should have the 
name of the file to read and send to the 

TXaiZ, 



long SoundScapeBase, IntuitionBase, GfxBase; 

/* Here's the main program. As always with a 

SoundScape module, open the SoundScape library 
to get a handle on the routines, then close 
it so it can be eventually closed by the 
program that opened It initlaHy. 
Create a mldl port in the patch panel and 
Walt for it to be closed, then leave, 

•/ 

void mainO ( 

IntuitionBase = OpenLlbrary ("intuition, library", 0) ; 
GfxBase - OpenLlbrary ("graphics. library", 0) ; 
SoundScapeBase - OpenLlbrary ("SoundScape. library", 0} ; 

if (SoundScapeBase) ( 

CloseLlbrary (SoundScapeBase) ; 
thisport = AddMldlPort (opencode, olosecode,edltcode, 0, 

stxa 1 z image, itxB Is image, -1, "txSlz librarian") ; 
SetTaskPrKFindTaslc (0),-20) ; 
while (MldiPort (thisport) ) Delay (100); 
1 

CloseLlbrary (IntuitionBase) ; 
CloseLlbrary (GfxBase) ; 



•AC- 



48 Amazing Computing V5.4 ©1988 



Th« Ultimate Video Accessory ^(SffGW 



by Larry White 



We're off and running, so let's add 
some pizazz to our video with some 
help from Aegis and The Right 
Answers Group. 

We introduced our video using a short 
vignette choreographed with Deluxe 
Video. Let's add a few graphic frames 
proclaiming the virtues of Amiga 
desktop video. (Several excellent titler 



A good titler will let you create a 
variety of large, crisp titles using 
different fonts, colors, and shadows. 
Video Titler can use any Amiga 
compatible bit-mapped font, including 
Zutim Fonts and ColorFonts (made 
with The Calligrapher from Interactive 
Softworks). Video Titler comes with a 
few additional fonts which are well 
suited for titling applications. 



slanted, and even tilted, using the 
Amiga mouse. You can still add any 
of the styles and various color combi- 
nations to give you a virtually unlim- 
ited selection of titles. 

Video Titler supports a wide variety of 
resolutions, with interlace available for 
all modes (required for "video resolu- 
tion") and two levels of "overscan," 





Figure 1. fl few of the special fonts that come with 
video titler. TWenty styles are available for each font. 



Rgtire 2. Polyfonts can be stretched, tilted, slanted and 
bent with ease. 



packages are available for the Amiga, 
including Brown-Wagh's TV Text and 
PRO Video CGI, from PVS Publishing.) 
I just received a software package 
that's ideal for this purpose: Video 
Titler, from Aegis. With just a few 
hours' practice, I was able to create a 
vibrant title sequence which was 
played back, with the necessary 
transitions, by Aegis VideoSeg (in- 
cluded with Video Titler). 



Each font can be displayed in a variety 
of colors and styles, ranging from a 
simple drop shadow to multi-plane 
neon styled outlines. Despite this 
versatility, each font must be available 
and loaded into memory in the exact 
size you'll be using. 

Video Titler comes with one shape font 
and six special fonts (called polyfonts), 
which literally stretch the versatility of 
your titling. These fonts can be 
stretched vertically, horizontally. 



"medium," and "severe." Medium 
might leave a small black border on 
your video image; "severe" virtually 
guarantees edge-to-edge Amiga 
graphics. This increase can slow 
things down a bit and isn't always 
necessary. But, with the Hi-Res mode 
set to severe overscan, you'll have 768 
X 480 pixels in NTSC video (768 x 592 
if you're using a PAL Amiga). 



Amazing Computing V3.4 ©1988 



49 



DESKTOP 


VIDEO 


ESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 


DESKTOP 


VIDEO 



Di:SKT3P VIDEO 
Di:SKTOP VIDEO 



DESKT^OP VIDEO 



l5S?5i 


i5P VrCEO 


D -SKT 
D -SKI 


OP m^m 
OP m^o 



DpSKTjOP VIDEO 

OP VIDEO 

DESKTOP VIDEO 
D3SKT0P VIDEO 



Figure 3. fl tile pattern can make 
an effective bqckgroand. 



DESKTC 

DESKTC 

DESKTC 




DESKTC 
DESKTC 
DESKTC 
DESKTC 
DESKTC 
DESKTC 
DESKTC 
DESKTC 




Figure A.Thexe three wordi are flipped over eacJi other 
to create an animated effect of the twinkling stars. 



Any IFF file can be loaded 
as a background, but the 
resolution of the titles will be 
adjusted to match the 
resolution and palette of the 
background. For genlock 
operation, you can leave the 
background set to color 0, or 
use a background with large 
areas of color where you 
want the live video to show 
through. Simple back- 
grounds can be easily 
generated with solid colors, 
graduated colors, or a grid 
pattern. Text can be 
stamped or pasted into the 
background and a profes- 
sional tile effect (see Figure 
3) can be quickly produced. 



DM. 



Load 2,-dfi:i>jtE/jv»E0 ifcmtv 

Uii J.'mjpics/cfuliiieJSui' 

Fur icl to 3t 

Jlit 3.5.123,8I.H, 175,11 ;piw 1 
Jilt uKtS.ii^tM". -<':?»«» I 
KM Hit 3,4i7,8S.5j,175,45:pjust 1 
Mit uMiM.Hiy.tmt ! 



and sprites.) This type of 
animation is especially useful 
when you want many small 
items to move across a back- 
ground, as in the case of a 
video game. We used this 
method indirectly when we 
moved our Amiga logo across 
the screen with Deluxe Video. 
Typically, the background is a 
full screen IFF drawing and the 
object may be a partial screen 
IFF picture, such as a brush 
saved with Deluxe Point. 



Figure 5. EditForm is a requester that lets you 
the scene and its transition. 



If you're sporting enough memory (at 
least 1,5Mb), you can store the title as 
a frame in a special type of file called 
an Anim. (A500 owners, fea r not. 
Expansion is on the way! I e^xpec: to 
have mine up to 3 Mb by the nex- 
installment.) Moving the titlss on the 
screen and saving them as additional 
Anim frames allows smooth playback 
of an animated title. Let's te ke a 
closer look at Amiga animation. 



Animation Types and Standards 

There are three basic types of anima- 
tion available on the Amiga. The first 
type uses the Amiga's blitter chip to 
control the position of a predefined 
object on the screen. This is the type 
of animation often used in video 
arcade games and in home computers, 
such as the Commodorc-64. Ami- 
ga BASIC supports two types of objects 
directly (bobs and sprites) that 
primarily differ in their speed and 
number of available colors. (See your 
AmigaBASIC manual for more on bobs 



The second type of animation 
specify available is page flipping. This 
can be demonstrated easily 
with pencil and paper. Fold a 
small piece of paper in half so 
you have two small attached 
pages. On the bottom page draw a 
circle and make one of the smile feces 
that were popular several years ago. 
Flip down the top page and trace the 
face on the bottom page, but change 
the mouth from a smile to a small 
circle. Next, roll the tape page around 
your pencil. Then hold the page at 
the fold and move the pencil up and 
down rapidly — the face will appear to 
be talking! If we create several screen 
drawings with only slight differences 
between them, then replace the screens 
rapidly enough, we'll get the same 
result. 



50 Amazing Computing V3A ©1988 



Paint programs make it easy to 
produce a series of drawings with a 
few strategic differences. Several page 
flipping programs are available for the 
Amiga including AniTm3tion:FlippeT 
CHash Enterprises), Cell Animator 
(Microillusions), and Page Flipper 
(Mindware). Several programs use 
page flipping or partial page flipping 
as part of more versatile animation 
packages. Deluxe Video comes with a 
utility called framer which lets you use 
a series of partial page images as your 
object, thereby letting you animate the 
object even while the blitter controls 
its screen position. The Director (Right 
Answers) lets you flip full or partial 
pages. 

To speed up the page flipping and 
make the animation appear more fluid, 
most page flipping programs allow 
you to use double-buffering when you 
have enough memory. Double- 
buffering allows the computer to stay 
a few frames ahead, loading the 
pictures into memory before they are 
called for on the screen. The video 
frame rate is 30 frames jxjr second, but 
you'll perceive animation at rates of 12 
frames per second or faster, since the 
human eye retains an image for 
approximately l/12th second. Most 
page flipping programs work by 
having you create a script or list of 
files to be loaded, then dictate the 
order to put them on the screen. 

Page flipping is often used by tradi- 
tional animators to test the motion of 
their pencil drawings before they make 
the final eels for animation. Pin- 
registered pencil drawings may be 
digitized using Digi-View. To maxi- 
mize the effect, set the Digi-View color 
palette to two color (black and white) 
and save the file as a 2-color IFF file. 

Page flipping is a very straightforward 
technique; even simple "slide show" 
programs work on similar principles, 
although they often use sophisticated 
transitions between frames, rather than 
quickly replacing the screen with the 
next frame or slide. VideoSeg (for 



CLIP ART ! 

For AMIGA' 

High & Medium resolution 

files on each disk. 




Disk 1 ; Computer, Office, Music, School, Travel, Trans. 
Disk 2 : Business, Sports, Animals, Parly, Religious 
Disk 3 : Food, Borders, Medicine, Old West, New.slcttcr 
Disk 4 : Hands, Seasons, Pirates, Tools, Personal, America 
Theater, Corners, Zoo, Menu, Outdoor 
Adman's Special: Computer Products 



Disk 5 
Disk 6 



$19.95 



per disk 



(AddS2.50 P&Hperorder) 



Magnetic Images Co, 

P.O. Box 17422, Phoenix, AZ 85011 

(602) 265-7849 

Dealer inquiries welcome. 



Video Special Effects Generator) lets 
you use transitions such as fades, 
dissolves, and wipes between your IFF 
format title frames. 

Page flipping can be slow and mem- 
ory intensive, depending on the 
number of frames in your video. If 
you don't have a hard drive, you may 
not be satisfied with the number of 
frames you can store on a disk, since 
each frame is a complete IFF screen. 
There is another way to create this 
type of animation: by using an Anim 
format. 

This type of animation is similar in 
principle to page flipping, except 
instead of the storing each frame as a 
separate IFF file, the first frame is 
stored, and then only the differences 
between successive frames are stored. 
Since frame-to-frame differences must 



be small for animation to be effective, 
the resulting large file is much smaller 
than the total files needed to store 
individual IFF screens for page 
flipping. A special program (usually 
freely distributable) is included with 
this typ)e of software for playback. 

There are many different ways to 
generate the graphics that go into your 
Anim files, ranging from the manual 
frame-by-frame storage of Video Titler 
to the automated Anim recording of 
VideoScape 3D. Storing and loading 
Anim files is a rather time consuming 
process (I've seen it take five full 
minulra!), but the entire animation is 
handled as a single file. Anims will 
typically play back on machines with 
512K, although you'll usually need 
1Mb or more to record them. 



Amazing Computing V3.4 ©1988 



51 




Professional displiiy and animation language for the Amiga'" 

Envision a creative freedom you've only dreanu'ci ;iboul. Imagine page 
flipping, color cycling, lext generation, even IHK AMM animations, all 
combined m she samt lime on the same screen. Now, from the simplest 
slideshow to the most sophinicatcd desktop video production, that dream 
comes true with the CMroctor, 

• Use any IFF images, any resoliilion, any numhcr of colors 

• Fades, Dissolves, B'its, Wipes. Stencils 

• Page flip full or partial screens 

• Preload images, fonts and sounds up to your memory limit 

• Flexible script-based structure 

• Basic-like vocabulary: For/Ne,\t. Gosuh Return. If Rise, Endif 

• .\rilhmelic e.xpressions, random number gencriitor. variables 

• execute AmijiaDOS commands from the script 

• I'cxt siring and file input and oulpu! 

• Keyboard ant! mou>e interacl'on 

• Digitized soundtrack module 

• Supports HAM and overscan 

• Supports IFF ANIM p!aybac< 

• Built-in drawng coTimands 

• No copy protection 

• And much marc . . . 




The Righl Answers Group 
D«parlmeiil C 
Box 3699 
Torrance, CA 90510 

(213)325-1311 



DEMO DISKS $10 cacti 
Probe SctiUL'nco t5l2k) 
H0H(1 meg) 



$69.95 



I IrjJcmiTV or Commuduic-Am 



Check Or nionqy ordcf 
payable to; Rjgiit Answers 
I'lus S3 shipping arul h&ndj ing, 
Cilif. iesii!cnls k6d fi.S% sales tu 



Unfortunately, not all progra:nis that 
use Anims use the same anir.i file 
format. There is an IFF ANlVf file 
format documented by Comrrtodore- 
Amiga, but since this is undEirgoing 
some revision, I can't prepare a list of 
all the programs using the same Anim 
format. Sometimes even pro.grams 
from the same manufacturer or 
distributor don't use the exact same 
file format. (At this writing, I believe 
the Director is compatible with Vitieo 
Tiller and VideoScape 3D and the 
Microillusions video products, al- 
though I have not tried all the p0£;si- 
bilities.) Anim files from Animate 3D 
(Byte by Byte) and Hash Enterprises 
are currently using a different format. 
Some anim formats even support 
sound as well as %ddeo. 



All is not lost however. Several 
programs are expected shortly that 
will either capture the frames of any 
anim one by one and save them in a 
"standard anim format," or convert 
files from most anim formats to almost 
any other anim format. Even so, you 
can chain various types of anims for 
your desktop videos by simply 
stopping and starting your VCR at the 
appropriate times. 

Can you use all the various formats 
together in a single continuous 
animation? One way would be to use 
a program called The Director. De- 
signed to closely resemble AmigaBA- 
SIC, The Director lets you prepare a 
script — a sequenced list of instructions. 
The commands are similar to BASIC 
with FOR/NEXT, IF/THEN, LOOPing; 



VARiables, and GOTOs. There are 
additional video based commands, like 
Blit, Fade, Display, Dissolve and even 
Play Anim. If you want to use a CLI 
command to try to play an incompat- 
ible anim, there is an Execute com- 
mand which will send your instruction 
directly to the CLI. 

One of The Director's most powerful 
features is the ability to partial page 
flip, so you can actually store an entire 
animation in a single IFF file. To do 
this, simply load the IFF iile into a 
buffer and, using the Blit command, 
designate different sections of the 
original to the appropriate spot on the 
display screen. For example, we can 
put a twinkle in our title by making 
several copies on a single screen, then 
highlighting various positions on each 
copy. On playback, we treat each 
copy as a single frame, placing it 
directly on top of the previous frame. 
(See Figures 5, 6, and 7.) 

It would take a much longer discus- 
sion to describe all the capabilities of 
this program, but one of the most 
important is the ability to control 
several animations simultaneously. 
Depending on available memory, it is 
possible, for example, to play an anim 
in one screen quadrant while page 
flipping in the other three. 

The Director can write text directly to 
the screen, keeping it as part of your 
script and eliminating the need to 
store text in a larger IFF file. 

Of course, there's still much more to 
animation than this: I just received two 
programs from Hash Enterprises that 
show n3al potential: Animatjon:Sland 
and Animation:Effects. They let you do 
some interesting things with IFF files, 
such as zoom in and pan the back- 
ground. More on this next time. 

•AC* 



52 Amazing Computing V3. 4 ©1388 



commodore; 



AMIGA ORDER FORM 






Your Name/Company- 

Address 

City 

Phone 



, State . 



Zip- 



Qty Descriplion 






Insider 


1000 


One full meg of internal RAM with clock 


Insider 


1000 


Same as above without Mem chips/socketed 


Kwikstart 


1000 


PC board putting Kickl,2 in ROM 


Multi-Start 


500 & 2000 


PC board putUng Kickl.l in ROM 


Drive Extenders 


500,1000 & 2000 


3 foot DB-23M/F cable 


Monitor Extenders 


500,1000 & 2000 


Same as above, cable 


DB'23 Male/Female 




Bare connectors only, each 


DB-23 Hoods 




To cover connectors, each 


Mouse 


500 & 1000 


Original replacement mouse 


Mouse 


2000 


Original replacement mouse 


Internal Drive 


500 & 1000 


Original 3 1/2 replacement 


Internal Drive 


2000 


Origna] 3 1/2 replacement 


Custom Chips & Parts 


Availability & Price 



Price Total 



$399.95 . 

$249.95 . 

8169.95 . 

S129.95. 

$24.95 

$24.95 

$3.00 

$3.00 

$69.95 

$79.95 

$167.00 . 

S187.00 . 

$CALL 



U.S. $3.00 Canada $6.00 



Sub Tolal_ 
Shipping & Handling_ 



Michigan residents add 4% Sales Tax_ 

Total 



VISA, MIC, AMEX, COD (cash or Money Order) 
Sorry no P.O,'s 

Order Today (or Call): 



matltdudj 




Michigan Software 

43345 Grand River 

Novi, Ml 48050 

313 • 348 • 4477 Amiga BBS 313 • 348 • 4479 



Amazing Computing V3 .4 ©1988 53 



Aegis Development 
2210 Wilshire Blvd. Suite 277 
Santa Monica,. CA 90403 
Video Tifler, VideoScape 3D 



Brown-Wagh Associates 
16795 Lark Ave. Suite 210 
Los Gatos, CA 95030 
TV Text, TV Show, Zuma Fonts 



Byte By Byte 

Arboretum Plaza II 

9442 Capitol of Texas Hw>-. N. 

Suite 150 

Austin, TX 78759 

Sculpt 3D, Animate 3D 



Electronic Arts 

1820 Gateway Dr. 

|San Mateo, CA 94404 

Deluxe Video/Deluxe Paint II 



Sappliers: 

Hash Enterprises 

2800 East EVergreen 

Vancouver,: WA 98661 . 

Animation: Stand, Ahimatiohi Bffecrts, 

AnimafoK Flipper 



Inter Active Soft Works 
57 Post St., Suite 811 
San Francisco, CA 94104 
Calligrapher 



PVS Publishing 

3800 BotteceUi, Suite 40 

Lake Oswego, OR 97035 

Pro Video CGI, Pro Video Plus 



Right Answers Group 
Box 3699 

Torrance, CA 90510 
The Director 



Microlllusions 
17408 Chalsworth St. 
Granada; Hills, CA 91344 
Ph to n Video, Cell Animator 



Mindware International 

110 Dunlop St. W. 

Box 22158 

Barrie, Ontario, Canada L4m 5R3 

Pageflipper 



NewTek 

115 West Crane St. 
Topeka, KS 66603 
Digi-View, Digi-Paint 



TxEd Plus,., All the Speed and simplicity of the original TxEd, Plus. 



Modular software is coming. With modular software, different 
programs talk to each other using a common macro language. 
Apple Computer, Inc. has started a software division focusing 
on modular software, and Microsoft Inc's Bill Gates has been 
talking about it. Modular software lets "multitasking" mean 
more than just running two programs at the same time; you can 
run programs together, doing more than each program can do 
alone and letting you pick exactly the pieces you want to use. 



O Fully configurable menus and keyboard 

O Powerful command line language, uses 

the AEEXX macro processor. 

O Includes functional AEEXX demo 

O Many other new features. 

OUsesARP Vl.l 



On the Amiga, modular applications are more than just next year's 
dream. They're available now, with two of the cornerstones ready 
to go. TxEd Plus, the text editor, and AREXX, the macro processor. 

Even without the ARE^KX connection, TxEd Plus is the text editor of 
choice for the Amiga. With AREXX, TxEd Plus becomes more than 
just a text editor. The configurable menus allow you to create 
customized applications such as order entry systems, and that's 
barely scratching the surface of the possibilities. 
We don't even know wliat the limits are yet. 

Developers: find out abouti^EXX! The window is wide open. 
Users: demand AREX51 capability in your software. You can get 
it now on your Amiga, or w:ut till next year, on a McClone. 



TxEd Plus $79.95 




Microsmiths, Inc 



PO Box 561, Cambridge, MA 02140 

(617) 354-1224 

BIX: cheath CIS; 74216,2117 

Masa ReEtdenU add 5%. Viea & MC accepted. 

Amiga i& a LnidcniBrk of Commodore Buaincss Machines, Inc, 

The term 'McClone* ie a ficlitioUH conglomeration 

refering Ui nothing in particular. 



54 Amazing Computing VS .4 ©1988 



Expanding Reference 





Computing 







Volume 1 Number 1 Premiere 1986 

SuptrSphtm ByKeiryKb^vi An ABasicGrBiihieipn^ 
Clti Vlrui Bf J FautI A dstse n-ay iZadty^tr Angil 
EZ'Tbtii byftHyKBj'^Bn frt ABascTemnil proyin 
UgalUnlt tsy P. K'VoioiwaP'QQftnming lrM& mAjHa^ 
hiidBCLI tva.UuuB<ig',jd«9dr^tnk;t>eAm>gaOH™ 
CUSummiqr byQLUAMrjF. A lifl g^ CU mmRntrtfi 
AmlgiFonm bYB.LubiQn lAvtCoT^puserv*^ Ami^tSIQ 
C«fflfflod»tAffllgiDtv*leprtiBrMPni]}tirn OfD.Htkt 
AmJgi Product A Ivtng 9I pmsfil 




Volume 1 Number 2 March 1 986 

Baeowye Am Cmtih Thresh A jbv#h o^ tcnnvfl trox. EA 
bM*CU:ptr1twQ (XM^ntf ^ivHtgilii OIJH) 
A Summiry si ED Cemmindt 

Onlnp an4 th« C^ Fi&ftt }i^ At>M Ucdm ^ J. Fw« 
9uptrt(rm V I J By K. KftLffrmin A torn. prag. m Mvigt Bwc 
AWof^btnehlleri-piflgiifn by FMiMitii 
Amlgi Baa iUinbpn 



Volume! Numbers Apiil1986 

Arafyat b Vf^m iff ErneK VNwoi 

Rwitirt o( Rfcrw, Stj^ucat tnd UndahadoM 

FflTthl Tt* irn of HI on^otng Lttnif 

EMuxi Driwil by R. Wnfi f/\ An^ Banc a1 [ngnm 

Anlgi Italc, A&agihnanutartal 

hri0vCU:pvl3 CrrOnrgaUunv 0«9iO««w*u*FV€ 




OurFK»t 

rcrrmrirl V0U> Own IBMS l/tft 



Volume 1 Number 4 May19S6 

SkyF«i vd Artcfci Rwinnd 
Bdld)reue«m51^Df{vtCain*eUf &f£tritaVmtat 

Salinptr Pirl Oni b; P. Km^ffwa prog D Frvrt Am^ ircnen 
IHcrenft CO HOU Confvaia byJfnOtbtM 
AjnlgaBBS^mtafi 




Volume 1 Numbers 1966 

ThtHaibiROB ConwalDn Tool 

by S. P^v^rKCZ Coior manpiiWofi in BASC 
ATirgiHotiibyF^ckFlaa ThA JintDfBvM^kgamvKCOflJrnrq 
SldanrAFintLo^ by John Four Airst'i^xisrthvhosd' 
Jerw Fouit Tahi with R. JL Mai ilCOhCex™ 
Hew doaa SMacar atfiCttha Trintformar 

inmlrwawwti Dw^h Wpnar O^Simii* 
T!\iCominDdoriLiysl1iby J. Foust AI«fiCammMlot«*euti* 
Scrimp* Pari Ttra Cry P«rry Kivde«K3 
UiraudBf rtvlawad I}y fVoi Mitfi 
BuldingTodtby DarHi KAry 



nmazing 
Computing 

User Group l«*iiiS3^»^ 



Volume 1 Number 6 t986 

Tafnj^i af Af»htl Tritf ogy i«vi*wJ Oy Stop'wn pftjwici 
ThtHal^ Pf ojad: A Uidon In cur Solar SyitHn 

«M«fld by SBphsn Rat^trwcZ 
Roar; rw^mmd by Erv 6«» 
T#itaiR iPlui a Firct Look tiy Jo« Lwvry 
Kow to *tir1 iwf awn Anlga Uaar ar«up bfWHm Srrpaon 
AmJgt Uiw Craupa 

IhUJng Lift IJyKtfVKBJl^inibtKinal IHprogim 
PolniM b?iaga Ediis bySvphan R«VN*a 
So^mpar: pwl Oina Qy FVry JCvabMtt 
fvn Wlffi tia Affltga ctiK C«fnnii«r by T>i«rn Slri/^ 
OplnUa Your AniIgaBuJe Piogrinii tor S^tttd by PitfrMict 




§r% 



Volume 1 Number 7 1986 



AaglaDrN:CAD ctmaauitM Amlgt byKal^y AcFsm 
Try 3D byJioi Mmcfcrvw anlnk'cKtLKtan toSDgrapMci 
AagEihttget^ Antiulcer: i i«ww by Erv Bo^bo 
DflLtit Vldio ConrtruQlan Sat mMwvd by Joa Unwy 
Window nquHtan In AriilBi Bult by Siav« hhMl 
HOT ByCcJrnFiwxtitSOflfiphCTrttor 
1 C What I Think' Ron F^vmn wti iIbwC grap^progi 
TfiurUvruSlil byBC«!ir|r pograrr Afni^SB&crrwft^aa 
FFBruihta AffllgiBai^c-BOr 8«« «*& 0|' U Swrngv 
Ufldn^j C Progrtmi with AHwnblwIlwlnH of) tha Amifp 
IsyGttiMhM 




Volume 1 Numbers 1966 

T>«UrdMil>llr]f Atnl^ ByaGlftibb 

kmt^t inropdE atWashogton State LWwfiity 
MIcnjEd a too^ a: i on« man timy fw lie Amtgi 
HIcnEdiThiLMlaand QirkEipBdllJon r«nMd Friallf 
aalbtdaVvilonSLfl travwur 
C vnputr t [n tha CPuirnMn by Robwl Frial^ 
Two lor Stxidy by Ffio-io Oii«nwy ft ThaTallung Cobn^ Bogilt 
Trua Baalc tvrvnKf 07 Brad Omar 
Ullrtg yeur prijntK With tht Anlfla 
liarUa Mtfnwa 'ew«i«a by SxpnenPisTovKZ 
UidrvgFontafrMi AiYilgaBuJeEy7iA Jan«a 
BcmnStVar Jiy P. KvalowraAngniftr frolKSonprOfl.inC 
Uttic* HAKE Utll^ wr««ed by Scot: P. Ewrndon 
A Trii of TTvta EMACS by Sw« Pulirg 
^mipFlla R«idarlnAnil9«B«ricb]rTJon«t 







Volume 1 Number 9 19B6 

Initint MLrtle R*vi««w« by S»w Pietowci 
Undwtbitr P^w9tfe0fRio:trtKr»^m 
Pv«ArigriU>m«7Bav4 Hffw q wW EnrflchWi-di 
JtU ftvvvMd Df Jri Jrd CH Kv: 
frr^uJi^a OrtEtory A guM a r« b^km inl rwj.juf 
AnilgtO*v*l«p*rt Attl'^alSuepiaftjneDwvxwi 
PuMIe Oomdn CatilBg A hrtng vf JVrojI ird Fred Fffi PO& 
Ddi 3 &a* rwrvw ft Kri«Of 

Tnnchr 1M to-n PC/US-DOS and A.-Tiig«BaK 
Hicinin rwowi ErRKJursKnMtwrThe^F^iSpfWKlifiwt 
CJjnCbE bgr Wv^«Md by Pvtef Wipsr AT>gi atul 

Emk prSQ. u *¥ yOLf VilrU&' tiptart. 
Surdng Tout Own Ainlpt Ariibd Surinavt tiy W Sr^fifivi 
Ka^iTrich of Tour luthnmUMgtfer TuM DyJ.KL/^rw 
Th« AbHn A/nJga Fwtrin Comp^kif vi'iAnM by R A. R*ai« 
U«irTj)Fontitroni AnlgiSuk,PlftTwD by Tin Jonat 
HKChkcrevoniht A/nl^ bf 0. Hul Mwv* jre^ ■t*ii^. 
TtA IbdiAJ Anlgi Compltpr wiwby SFbwu* 



Volume 2 Numbtr 11987 

WhitCKfl-Vltwh- Or.Witav^lachfrovldttfbyJ FouB 
Art^lgfaBidc OifuR Coton tff SytP C*9fy 
ArrljfiBiacTnH Sjr&Trr Cit*y 
A Pk«lhC Ogm^n Ue4uU.3 9r«« r*nftMd br Wltwi Boo 

U»igLir»c»Ci»r:»»ng*ffTwi w/tmm 
A Ibgibirti Wthu/t UigM'Vdu byChra hr^g 

Ogl^VlBW rff^«w«d by Ed JjjioEv' 

ftirfindir of Ih« Ci qhti r*V)W«d by Ksiti Cof^fS 

Uidtf Bet^ xaxwnd by ( ixx ^a;A}ni 

Roundhl I Cpmpvtw ^l^Uin'i PANEL i«>vi4M«d by Ray Lvnca 

DlBil<Piirt--by H»w Till cr tvwwd by Jphn Fouflt 

Mi/JU Ptint I -tram E]H;tronlc AittpWWMd by J.FbuB 



Volume 2 Number 2 1987 

ThiModHTibyJottfiL Rerimiri0lf3rtia*«BBSSyiq] 
UtereliaiNnn wvwd by Skphafi F|. Retnua 
G£liHer'hkkaatwplgT«iB«- byJ-nMtuoM 

Gf.'TiiG &«i«tt^ rKnr>w 
SBI^PC I iWMtc b; S»(ywi R, Pi*i^nKz 
Thi Tr«ubl« Htr XmodMn bf .'oMph L Fkjrmtn 
1h« ACQ Piajw±_Ori0Ne T««cen1nndng en «w Anl^ 

by S. ft Pirrowci 
RIgihl 31fflu4ltv l_Jk CriM County TulcHri by Jo^nRifliry 
A Otk Ubnriin In AmlpiBASK by Jq.'yi Konr^n 
CrilVAg ind Udng Artilgt Wvkbtnch Icona by C. HtRM 
AmtgkDOSvvMiQn UoyOiflciti toil 
PllA^uiTG MH IntrfutbuldyournrntiyRhcrvvdRs 
AnIgiOOS OpviOng 9yilvn Cil1| ip4 
Qit F^lt MiiMgimnt byO hiyrm 
W«Ung ifitfi OV WerHMrwh By Ld Jt A ilvr.aJui prag r C 



Volume 2 Number 3 

T>ia Anlgt llOOff"' by J Fpwl 

AFril loihuwnaw.h^tnd Am^in* 
"Ihi An lg» SOT* by John Fui* 

A ii»< D ntfW*. 'cm [rod Hr'^t 
An Antlytla ol Ih* tfaw Amlgi PC« tlf J. FouC 

SencJilon 9n r»Nw An^u 
CamJnri PinibyJnUBKtoM 

Th««ncJk^ng mcM on tan^cyvrganM 
aitaHifSrU tnd SufMTKriptf In AmlgiBASC by frt.i G Snith 
Th* Wimw Certsimiar El«c»«nkt »i(MOy Jo^n Fou« 
AmlgiTjiitTW Bk* A.~l9l™l^a^ClJE 
tnVHtn CtdgM by HAff<«! Mdyb«diTDl)y 

A|Ou'f*yfT[x^ p»clg*l-Hnfl,uii%C 
ftirghd tw^mna t>y Kii?i M Corfon 
ChMvrii«K?OOeKChHknita vywwedby Edwfl V. Apd, >. 
UngT ^eni Utjidm BUttrnM* 'nrntrnd by Ed Bvowa 
Fortil by JCfn B^in G*: Arvo »«,n(j mE ydij Fom, Brtff«nn. 
AiMmMjf Unpuiig* qn fi* Aml{|t™ Dy Ont Uinfi 
Roanan ty r^eevtog G»^ckki ara firtaiy nippng. t MOfElfl 
ApilfliNotMbyR.R»flK/*iBui*n , ■Hortreo?Yrvat?_. 
Th» AHCUS NMmrk by J, Fogtl 
CES^uaarj^a^iltMlincJAfniga Eipd' 







lE.fu: 



fi^ 



ippipnp* ■"■»» 



Volume 2 Number 4 1987 

A^^ujngi Irtwvtnn An StcNbyS-hU JiffiptAnfl 
Ihi Uouia Thit Cbl PaUvtd tJt■)vryH^'^ md Bob l^ioM 
SuftHng Publil£ DenviEn Dakt wiOi CU by Jann Foi^vi 
HgJllkOhti trwn tM San f nildaca Comrnodcra Kipw 

bySHul 
SpHVtr SHilona:3tni fttn^ttaCotrmoriwtSttommttiy 
TbiHAuitWddlnvntKy dfitm In ArrbgaBA9K^ 

StfTiti of 30Hn Oumpi by Ne3cjn Ocrn 
UiJng Function )C#p «<fv htlcrDEmaca Dy &ag Dqu^fi 
AmiaitfilPjiWifvBcoi Ma's A-"^s mota 
Bt«eCidCKibyBrr)Cc*y C/mb^h^LiAiik 
Cfid'sn 'f***« By K. Co-iVt Bei •wfi* •v lr^ Ar^t 
9ut FIlM I V»f ddn 2.1 ••>r««««i by J Triey V'lgariSpaa 
ThaTWr^srawaflbyJ Fojf; BitWrypff***) C«ot Ct^TJ* 
UiaKOfM iwnmm by K Tv!y Ai bu/-id-uh MOi-gQW 



Volunr*2Numbe'5 1987 

TVii Pvr^it Sound D^tlipr nevM by R. Bt^l 
Tht RjUirt Seund DglSfw i]y W. BiQ^i A£«l«d V^von'^ £D 
Ffflh! by J. BTflncarptflng JFo^^ itnj l*/jf anil 
itliclrtp^by B.Cc9^ Ar^^iBASlC irioul («ulr^ tar ua* in 

Wrhlng I SoundSeiptUodiiMiinCbyT.Fqi PFogrtmn-ng 
Mfi MOi, Ariigi and SoundSc&pa by SounoScipt iuTidr. 
PtsgrvnRiIng ki aOH Aan nUy Lmguagt dy C Uartn 

Ufk^flFvtur«Segr4w4lhArkgaBAaiCbyJ Maaiam 
ArgiBA£.|CP^»r-iT^u;tTyw^ '••l.flfflwl STEftO 
AnlgjMD-aaby ft Ma* A ww of Umtha 

30 i/yiScti» Sound S«r«Mr. 
Ifcra AiTilgaMolaitiyR Rh 

A '•xtv *n*m of Suira'j R»*a Soirri 
Wtvttenr Wottri^Cfi In A/n giBASICbyJ &>atiit4i$ m« 

'M^'vm l^r un n ??wr AnigaBASK; (ro^arriL 
Ihi Hnilct Pro HOt 9tudld Dy SJIvir, JHIwy 

Ar»v««<ilUrmaacj'(Tn;K«*ftr.V«yW. 
JnMflenaa4git*Ptr1llt>it K HiyHcicToliy Booiaui^adQatt 



Volume 2 Numbers 1987 

FDrt>! by J Orftr Vwu 'Ho^n* n ^B RCU Iten^ll- 
Tht Afflulnj Cwnpiring Hli/d Q^ Rnlp* by J. FbjiI & £. 
LHTT^n Kdn^iggicimCLkl. Ha'd [>vt,M>crabd)ur 
UA$'Oni*2Q.ervMbyBy*'iPM.Jr., £up^'t4i4Hird{>-H 
■nd Xaboc'i 9720K Hi4 [>lv». Mta. i bok n d* #iw 
HftMiri durwiay indar davtapmmL 

llDduli'JARilgtOOS^lMltfHDyS FbMtzwfi A 

CiV t !d Ai- •( rfX£ and nv FOi Ivnri. 
Amiga Eipanalen PFl(rf*ril by J. FouS 

AmfiSt ^»d^t4td Support tjf J ¥ajr\ 

hi-m trC nf^tm "a gt^Arr^atoi^ ■41001 
<lo«dbyiLMCdU*byJ Pautt Cloang UiGabu 
T>i« Amicui hMwork by J F<ruti VVatlCMit Compjw Fa'K 
|%t«S9fflf:o9ifllindToelkHbyJ FouB Ar#n«H 
ThdUlQleSubyJ.Fautr Run Mic^ag'a-niqnynr Anigt. 
Wial ¥cu 9hou(4l Xnqw Bff^l ChOMl^g HI Affllj)! 1000 

Eipinilofi D*vk:« by £. Qn.11 
7 AHVFiblwi f« m* Amlgii by G. HJi Cftoa»yK.i itwrblv 
High Laval Shakiup f^ifiic** T«p tomgwninl it 

C«niniod(Ktbj)S. HJI 
PlUrjeacior^S Hul Ua-vfer ilC8UgvattninK)alGDh 
loglllK Arw^pwbyacrnrtfK-flefW 
OrgvMiV by A fwiw Rcnoil Kr^opptf dBMH. 
MOQDAHtflibty Lingutgt Pnyimnibij at tii Amigi 

byi>r»Ur>i 
Supartuaa Pvionil RilrtiloniJ Dititoui by Rty UcCtb* 
AmlgtHotWDyRM.RoiMrdAFaakB: FulireSt^ml 
CofflRii^tfori Shpw< Ih« Afnigi iPOO ind 500 It t)l SoKop 

Cwnpjtv Sodicy by H UtyMCK Toty 



Volume 2, Number? 19B7 

MvBratd of VldaoProductabr Johr Four. 

ViryWTldl OyTTGrBirji. 

VldtD tmf Vovr Affilgi by Q«i Sar^i ri 

Affl^tatWHtiv PoracBafingbyBivniJrilH'Bvi 

A-Squind antf tht Uv*l VktM Oglllrv 93y iahn FcuiL 

AiQiaAniniitor Script! md C«4 AnlmtdonbyJu^nFpvil 

OuLJtirVldabrwm tOualliy Com pufaf by Ortr SvxM IL 

lllFFRBattyB9ta!iclird?brJc^ FouK.. 

Amukig SiviM md n Afflilf ft^ By Jehn FifjtL 

All liHWt PrlRW Drhrwa by Ronald Baiaic 

htUlon Gtd|Mt by Ha-nr Utjtwn Tai«y. 

Oali.Ta VIdM 1 J by B* E* 

Fy» VUh CG1 by Oli. Sanot 111 

Dgi-VIn £0 Dighnr^g^fHn by J*inrtr M. JnK 

^vmHAMEdiwrrqiin Impjiaabr Jd'v^'^M-Jiinlt 

Eify<ifrnrini{i9bl*tbyJ4m Fvual. 

CSA'tTiMbo-Amlgi Tpwfr by Aihid Aturto 

filOCd A«*«mb'!r Linguist by Qifli Unn. 




j^nazing 



»n'E'AM . 




Ammw 





Volume 2, Number S 1987 

SCM, Earl Wbbvb' BaseCelV Paftt), "R^ Surgeon, Lta 
Cotpuier RiO(>A. Srfiad.SlirGdflr. King'iQvffi',l.lla,-:4 III 
F»7 Tb* ^Otvy-j'^. mtiT* III Faoeti of tewnt;^, Vnim 
VogHincjBwa'tTak. 

Pkii AmtzInQ rfionWy ctfutinL.. Amiga Nok, Rocrreff , 
hl(KJLilB-2, G&OOO Ass«noly Liiguagtind D^a Aiicjt 
h«rnQm. 

tlM CotorFontt StS'ndi'd byJohn FoLst 
Sitfnny C Progrimi by Hobe^ Reneriiie, Jr. 
Hlddin UoHigii h Yolt Am pgi^by John Feutt 
ThtCanmnvH ElKtwia Show ind ComdBz.Oy J ^oi^t 




Volume 2 Number 12 1987 

Tha UlinilB VldBo AccvHory 1?^ Liryl^'B 

Thi Scnif Coiviicton byS»»«r:C5M 

^^-Puuliln AnlpiBASIC syZ^Can Sap«^ 

Uta.Pull: Thf epglr^n^nj; by !>rt<JHul 

T>Wi/ti-o:rrp«)(ir«trit»lrMn art "GiTifllLta.' 

AMlglVlmt! by John Fuji: 

A new An^i trryj i-jinj^ioed. Peas* tfwrt you' sy5»n. 

CU Arguminli ki C by F>b-j1 Cacnrgugy 

UDIinterftetAdlpW by Barry Musan 

Ariga :CM-5Yh WlQI in*r!KW can ft A2W0S orSOOi 

|Uoduii-3oy S^e^ftwsznvttJ 

Fmt in t saf^et, ■ cummft^ ln« caiculBlw' in Motum-?. 

AmlgiNaMaby Rie^trdRH 

Tha (kJdia chanQM mad» iri irw Aai>9& 509 and SKO. 

AnJmilonforCRDoldM; l^nill by M. SwneeN- 

tidtiTig dQ'jt>«-bi/fe(i'^. 

Tho Big Rcaid by Wif*i Ring 

AmijaTV Asnmbly I*rigi^g9 pfog-flrr^niing V f^ bflwl 

KviteKid Rnlfwsy Sxjrer^R. PeriCw£i 

G0!64rnln»by Ja'nFwJtJaTesOKeE^e. ardftcKWicti 

T+ve* C-W wceTS ■nwtt9SB i r«w A^ri 91 &iftTi>aTir. 

ArTfcllt-PlutRprlaw by &«Td an Larson 

*Fj-1«jg«3 fci-nal phTHJ-an^S TATonks Clps&')les 

Caliigf ipKar Ra/lw by Jot FouR 

Aninaur: AAJftnlaHtvlMby JaririFftjE 

PliylnBDynimIc Drumi onpia Amigt by DavKl N &irk 

WvdPartictRivlflw by SwbHlI 

Intlde/.Kwdkiart RtirlM by E'rvttP. Vva^os Br 

RAM AflOMflipeinn: ConrnvraaTtf rttraMT.tips. 

Bug flytBt xtf Jor.n Sarw 

Forth! By Jon Bryin 

DijrnDfPiytuiS'ryto'yiM/Mus-ForJitMrbot 

At I 9« It by EodiaQu'c^tl 

An oBtiMtlook QT Diff-PBrt, Piytal^ and VtfBoic^se 3D. 

Thi AmluaNtTwark tiy JenrtFftjK 

1>« C«niniodgr« Showmd Ani&tpo: Nvw YorHi 



{Continued on Page 111) 



Vofume 2 Number 9 19G7 

AnalyzB 2Ji v^swH tpy Kfr^ Scna^r 

Wi pact Bultnns Gnpfik:a 'even by O jck RdjQM.S 

Hcroflcin« tAwfVM by H&'v LBS«f 

PifleKHK wvfw by Ft* Wich 

GIotm PFpdujfllirily S^l U'Vv^M &^ B9&£i!*F 

KickwcHi Fflyewr by Hbjv Luv 

Hgt Tvloummunletflona Pukaga rv; av^ S;eM H jr 

Mouaa Tlmi and pmaanv nmnv iTf John FcjH 

hridw Memory Eipanalon wew by Jitm QK«'w 

Maobotiea 5tirbMFd-3 leumv by S. Ffti^iUAvwi 

Leithar Goddnaa at Phoboa 

<^vefMvi by KvF*: Mayb«ti-To(y 
Lattice C CompilBr VwalDnllOnvwedby Gary Sar^f 
Mini "iAt Upditt «i'iM«d bjf J^hn Foust 
AC-BASIC rev«ft«J Cy &mldDn te*rafl 
A&BASC CarrpllJar an a^morw canps'ssiir by B Ca:«y 
Moduli-IPrpgrimmlj^ SFkivueMt^' 

Riw CofltM D»^ce Evwa 
Dinclory Llatlngi Urvdl« AnIgaOOS by Ova Hvyn^ 
Am)gieA9C Piaa>rna by Br^a'^ Cr«y 
Pregnmn^inf i*(ti Sourtdactpa 

ToOir Fay rraTpjsS's la— T^es 
Bill Voik, Vln-PiMidmt A«0li Dn^cpm^t 

i.nw«Y«M Dy Sm« Hu I 
Jm Goadn'ow, DavAofnr dI hhnjc 'C 

rlarvaw by Norret M Ta'^ 



Volume 2 Number 10 1987 

Vki Haitjroom ind tha Amiga by Ja^n Fs^E 

TilCng^aParfidScnan ShoIbyKai^ Catrhin 

Amigi Artit: Brim Wiiijumiby jg^n Hji\ 

Amiga FoFun on Corf^puaBrv«™„S»nwvtPutaltahhg 

Cof^ar^ncf Tranacripl by Rd'-i'd Rbb 

ATI About Onllna ConTvandng by Richuti RaA 

dBJiCAN.-«i/49wed by C^H^d K*it 

Amiga PaaciJ meMod by Mid-ael McMail 

AC4A51C Com pilar rovmwd by Brya:! CtBfl|r 

Bu; 8ylea by John &t»i«r 

AriigE holBi by Richa.^] Raa 

RpompraiTy The Bandit 

GBOX Aaaembly LinguagabyChiEMrtn 

TTiB AMICUS NctwoFli by JiT-^ Foutt 

An-ga Propfaftmlng: 

Am.ga BASIC SlrucbJraa by S^ivs Mchel 

Quick and Dirty Boba by Mchnv Swnger 

DrKt&ry Uatingk Undar An^ kgt-DOS, Pvi I by Dtv« hUyne 

Fa« Rii L'9 win l«odurt-2 By S**« Furwurws^ 

WlrMfnv 10 by Reaa Pwrnofe 



Your Resource to the 



Vofume2Number11 1987 

Word Pioceaaaa Rjniaown by Geot! Gamt^ 

PfoW-.T*. ScDO*". arMWyflftriBcTMrtipajBd 
LPO Wfitir flavifw 5y Ma-ar: 0*t3 
VlaWrtte RwEr* by Hafv Las* 
A*dltR|v<BwbyWa-™n a,3oi 
WordPerlect Pra»fw( by Ha'v LiM- 
Ju 3an Inmliw bf Ed Sfcow^'j 

ThaauTiaroiSM'GWr (psital 
Dfrlt'ynjrtainmproviiTiantatDthi Amiga Qarriodi 
a jl-P*!nt Review by HsfvLasw 
Sculpt Xi RevJrw by S'lsve P«rawEZ 
$hadawgrta Ravi aw by Linda KapiRn 
TBleGamHRevlpwoyMc^.ael T. Cobral 
Rhmhi Pnviaw: a q->ck ink at an 

ii^Br>M ^-Afnrf ar «un nassfl app^ci^An 
Aa I Bai h by Ebaa Cnynifvn FWimg •iWwPirlac; 

Giroi VZO andZ.ng' Kflyt 
Bug Byiu by Js^yi Slfrntr 
XTiigiHotBt Cy Pi Ri* i fliacTsr'cmyw; bwkl 
MotfLflfr'? Prognmrnln^ b<ySrwFfewuBiH« 

oav^As. kO. a'0 T4 Wrii pa^ 
Roonaraby T^vBa'tita 
HOOQ Ajtarnbiy Linguas* by On hlii-i 

Orii «i-mr'Su9nr*0iaayfSuSf^« 
Iha AUCU9 Netav k by Jq-tt Fault 

D«i(ap P'-oijiit; i SeytwWJ 
C Anlffiatorf hnl by Mt4 Smr^' A'>'^atonOl>)KB 
8A3IC Toxt by B-ian Cal«y Pxal pa-^ac! ki^ fnttriing 
SpundaeipaPiriHDyT«lo'Ffy VU MmsriPdmwt 
Fun vrih Amlgi HjmtHraby AlanBa'rwi 
File BtMraar by Bryrn CtiiBy 

Fu! FoaitiW BASIC Fi'o Browsr^jbti";*^ 



Commodore Amiga 



TM 



The phrase above is not just empty words. The pages of Amazing Cranputing™ are filled with articles on 
technical c^rattons and procedures, basic use, and just-plain-fun. The growing library of Amazing Back 
Issues contains articles from building your own IBM Disk controller, to setting up your own startup 
sequence. Amazing Computing™ has repeatedly been the first magazine to offer the Amiga users solid, 
indcplh reviews and hands on articles for their machines. 

Amazing Computing™ was the first magazine lo docutnent CLI 

Amazing Computing™ was the fiist to show Sidecar™ from COMDEX™ in full detail. 

Amazing Computing'™ was the first to document a S 1/4 drive connector 

Amazing Computing™ was the first with a 1 Meg Amiga upgrade hardware project! 

Amazing Compuling™ was the fjrst magazine to offer .serious programming example.<; and help. 

Amazing Computing™ was the first to offer Public Domain Software at reasonable prices. 

Amazing Computing'™ was the first magazine with the user in mind! 

From the Beginning 

Since February 19S6, Amazing Computing'™ has been providing users with complete infomialion for 
their Amiga. This store house of programs and information is still available through our back issues. 
Frcsn the Premiere issue lo the present, there arc insights into the Amiga that any user wUl find usefull. 

$4.00 each! 
Our Back Issue price is stili $4,00 per issue! (Foreign orders, please add SI .00 per issue for Postage & 
Handling. All payments must be made by check or money order in U.S. funds drawn on a U.S. Bank.) 

Limited Supply 

Unforunalcly, nothing lasts forever, and the availabilty of some of our Back Issues is definitely limited. 
Please complete your Amazing Computing'™ Library today, while these issues arc still available. Please 
complete the order form in the rear of this issue and mail with check or money order to: 

Back Issues, PiM Publications, Inc., P.O. Box 869, Fall River, MA 02722 
(Please allow 4 to 6 weeks for delivery) 



Upgrade Your A1000 to 

Amiga WOO users who are interested in exploring tlie Amiga's musical applications. 

By Howard Bassen 



I bought an Amiga 1000 in 1985 partly 
for its unique sampled sound capabili- 
ties. As an electronic enginejr and 
amateur musician, I had a qualified 
interest in the Amiga's 8-bit, 28 KHz 
sampled sound system, with four si- 
multaneous voices. In this respect, the 
Amiga is very similar to MIC'I 
sampled sound "synthesizer" units. 
After I got my Amiga and experi- 
mented with some sampled-SDund 
demo disks, I was somewhat disap 
pointed to find, while the Amiga could 
record and play back sounds at 28 
KHz sampHng rate, the audic circuitry 
had a low pass filter that cut out all 
frequencies above about 5.5 ^'i^z. This 
drawback kept the audio quality of the 
Amiga's sound system out of the 
"high fidelity" category (which 
includes even the cheapest portable 
stereo systems). 

In early 1986, I began hearing rumors 
about a "fix" for the audio output of 
the Amiga 1000 to boost the high 
frequency response emd give the 
Amiga true "high fidelity" sound. In 
mid 1987, after getting a MIDI key- 
board synthesizer and Pro-Midi Studio 
Software, I was ready to add Sampled 
sounds to my personal digital record- 
ing studio. Discussions on local and 
national electronic bulletin boards 
mentioned putting jumpers acToss 
several pins on one chip inside the 
Amiga. These messages gave conflict- 
ing information about the "fi>:,"even 
listing different chips to be modifitri. 



I was hesitant to make the modifica- 
tion (short circuit two pins of a chip) 
without having full technical details. 
One bulletin board message named a 
Commodore engineer who gave the 
details on the "official" Amiga 1000 
audio fix. When I spoke to this 
Commodore staff member, he not only 
explained how to perform this fix, he 
also said the Amiga 500 and 2000 
would have this modification designed 
into their audio circuitry. In these 
newer Amigas, this modification (a 
low pass filter bypass) gave the newer 
systems a high-frequency "boost" and 
was software selectable. After hearing 
this, I had some technical discussions 
with a few experienced hardware 
developers in my local Amiga users 
group, and was able to review the 
hardware schematics for the 1000. I 
then felt confident about the modifica- 
tion. 

After I installed the audio circuit 
modification, I performed real time 
comparisons of the same digitized 
sounds played through the original 
and modified audio circuitry. My 
audio upgrade produced performance 
equal to that of the 500 and 2000. For 
all properly recorded sampled sounds, 
the results are always equal or belter 
sounding than sounds played through 
the old Amiga audio system (particu- 
larly percussion instruments like snare 
drums and cymbals). The most 
dramatic improvement occurs when 
you play an entire musical piece, with 
drums, digitized voices, and a variety 
of other instruments. 



Amiga 1000 users who are interest«i 
in exploring the Amiga's musical 
applications, but can't afford a dedi- 
cated MIDI sampler, should install this 
simple upgrade. You will need a few 
hours to perform the hardware 
modification, be sure to have the 
proper audio playback equipment (a 
high-fidelity amplifier and an inexpen- 
sive 7 or 10 band frequency equalizer). 
Amiga 500 and 2000 owners can 
simply switch off the audio filter with 
a software command and connect a 
graphic equalizer and high fidelity 
amplifier to get the same improvement 
in their system's audio performance. 



Factors That Affect the 
Quality of an Audio System 

The Amiga 500, 1000, and 2000 are the 
only personal computers that provide 
digitally-sampled audio as a standard 
feature. This type of audio recording 
and playback technology is also used 
in compact disc (CD) audio systems 
and in expensive, musical sampling 
keyboard synthesizers. Several 
parameters affect the fidelity of an 
audio recording/playback system. If 
we examine the specifications of the 
Amiga's digital audio hardware and 
compare it to the digital audio 
circuitry in CD audio systems and 
keyboard synthesizers, we can under- 
stand the capabilities and limitaHons 
of the Amiga audio system. We can 
then factor this understanding into the 
modifications needed to upgrade the 
system's performance. 



58 



Amazing Computing V5.4 ©1988 



500/2000 Audio Power 

but can't afford a dedicated MIDI sampler, should install this simple upgrade. 



Frequency Response 

The audio-frequency spectrum for 
musical sounds covers a wide range of 
pure tones, or pitches, from the Bass 
pitch of 100 cycles per second (100 Hz) 
to the Treble pitch (3500Hz or 
3,5KHz). Most musical instruments 
produce fundamental sounds from 
about 200 to 1000 Hz, but their higher 
frequency overtones, or harmonics, 
give instruments their unique sound. 
This is why high fidelity audio 
products usually provide a frequency 
response of about 50 to ISKHz. 

Compared with hi-fi systems, such as 
CD players and portable FM radio and 
cassette tape players, the performance 
of the Amiga lOOO's audio system is 
quite limited. The second generation 
Amiga models attempt to provide high 
fidelty performance through a soft- 
ware<ontrolled high-frequency 
"boost." 

1 have seen at least two public domain 
programs that let you activate this 
feature on the 500 and 2000. One such 
program, titled "LED," was written by 
the author of SONIX. (It is called 
"LED" because it dims the red Light 
Emitting Diode (LED) — the "power 
on" indicator on the Amiga.) The 
"fix" I will describe for the Amiga 
1000 allows you to obtain the same 
improvement in high frequency 
response after you install a simple 
hardware modification inside the 
computer chassis. 



Distortion of the Audio Signal 
The distortion of the original signal is 
usually expressed as the number of 
unwanted, artificial frequencies an 
audio system introduces. In For 
Analog audio systems, distortion is 
limited to integer multiples of the 
input frequency. For example, 
recording a pure 1 KHz sine wave 
with an imperfect audio tape deck 
produces a small amount of additional 
2 KHz, 3 KHz and higher integral 
multiples (harmonics) in the audio 
output signal. 

In digitally sampled audio systems, 
another type of distortion occurs. This 
type of sampling distortion is termed 
Aliasing, and occurs if the sampling 
rate is too low compared to the high- 
frequency content of the audio signals. 
This distortion can offset the improve- 
ments in sound quality digital audio 
systems can produce. The magnitude 
of unwanted distortion in digital audio 
systems is determined by the sampling 
rate and the low pass filtering used 
during sound recording or playback. 

In theory, to properly record and 
reproduce sounds by digital sampling, 
the frequency of sampling you use 
when performing digital recording and 
playback must be at least twice the 
highest frequency (including all 
desired overtones) present in the 
original sound. This provides all of 
the information present in the original 
sound. 



After digitally recording or playing 
back a sound, you must eliminate the 
"aliasing distortion" occuring in any 
high-fidelity digital audio system, 
including compact disc (CD). High 
performance digital audio systems use 
very high sampling rates, as well as a 
specially designed low pass filter. The 
filter removes high frequency aliasing 
signals created during digital sam- 
pling. In CD audio playback systems, 
sampling rates of 44 KHz and sophisti- 
cated low pass filters are used. The 
filter is installed to remove (attenuate) 
frequencies above approximately 20 
KHz, so no desired sounds are lost, 
while all unwanted distortion noises 
are eliminated during playback. 

With the Amiga, you can record audio 
material (like speech or "arcade game" 
sound effects) at sampling rates below 
10 KHz and still get acceptable sound 
quality, while conserving the 
computer's chip memory. When audio 
information is recorded or played back 
at low sampling rates with an Amiga, 
the built-in low pass filler cuts off all 
audio frequencies above approximately 
5 KHz. This approach eliminates 
aliasing distortion, but the low pass 
filter destroys the computer's ability to 
provide "high fidelity" audio repro- 
duction of sounds recorded and 
played back at high sampling rates (up 
to 28 KHz). 



Dynamic Range 

The dynamic range and the signal-to- 
noise ratio of a digital audio system 
are interrelated. Dynamic range 



(continued) 



Amazing Computing V3 A ©1988 59 



r^iri 




Uili IjKn 



"•• ^1. "" -i- "' 1» "" fil "• *is , ^«. 

'JE " JS -JS JJ5 Ejs -y^^A^ 



full ivi 

-J I — It- 



L^li Aoda (baiiaeto 



-^^A^r- 



^ 



i.xa I.M) WUl HKa 



'te °TC ^P 5tS Sp .7AAA\^ 



nil Mm iKa 



Figure 2: Audio Section Schematic 



S>i "-Til 



n0ht AiHfo HaoaptHta 



i; Test Point 




1J3 " JG -JS ijs SJG -vv%^^ 



--V\A/V- 



^ L*l A4Jdlo R«c*p4ict» 



». Test Point 

Figure 3a: Simple Ilardioired Modification 




Rlghl Audki RKtfrtKl* 




/ 



i.7Kn 1/8 Watt 



■ Shielded Cable 



r 



Phono Plug 
_L20 unAmfcm 



noQ ij<a 



ilKA H« 



g >-_ 



"• ;i. "• ,i; "' ,1s - ;is »- lis 



HI Ifc- 

eii CM 



-VvA/t- 



9>i 



sSi 5-p3 



Hltiri 



"1 



ixOi u(a HXfl 



11/11 tirt 



'j5 'te "js i-rl EJ5 tWAH 



J'^re 56: Dual Mode Modification 



4.7KQ 1/8 Watt 




X 



no 



60 



Amazing Computing V3.4 ©1988 



describes the span of volume levels — 
from the quietest to the loudest 
sound — that can be recorded and 
played back by a system. The quietest 
sound must be audible above the 
audio system's electronic background 
noise, while the loudest sound must 
not overdrive the audio circuitry, 
producing harmonic distortion. CD 
systems offer 14 or 16 bit recording, 
which yields about 90 to 96 db of 
dynamic range. The Amiga has an 8- 
bit sampling system that limits the 
system's dynamic range to about 48 
db. The Amiga actually has an extra 
6-bit "volume control" for each audio 
channel which can be adjusted in real 
time by software commands to 
enhance the dynamic range of the 
system. 

It is difficult to write software that 
changes the volume of a stored, 
sampled sound during playback. 
However, Mimetics has incorporated 
an audio signal compression scheme 
for their audio sampler hardware that 
uses real-time software to extend the 
dynamic range of their audio products. 
This feature would be welcome in 
future musical software products. 

Figure 1 compares the performance of 
the Amiga sound system to modern 
home audio equipment. Of course, 
using an Amiga with a good audio 
amplifier and high fidelity speakers or 
headphones is a must. If you use the 
little audio amplifier and speaker in 
the Amiga 1080 video monitor, the 
quality of the sound will be "lo-fi," 
regardless of fixes added to the 
computer's audio circuitry. 

Each performance parameter discussed 
above can be optimized in a digitally- 
sampled audio system, but the process 
requires expensive analog-to-digital 
and digital-to-analog conversion 
circuitry, and a very large amount of 
digital storage, either in RAM, or on a 
magnetic or optical disk. If you use a 
16-bit analog-to-digital converter to 
sample a sound at a rate of 44 KHz 
(as in CD audio systems), hundreds of 



kilobits of data must be stored on an 
optical compact disk for every second 
of audio material recorded. Compact 
discs have a capacity of hundreds of 
millions of bits (hundreds of mega- 
bytes), but Amigas can use only their 
512K chip memory — equaling 4,096 
kilobits — to hold all sampled sound 
data and graphics (including the 
Workbench and text screens). The 
memory available for real-time 
sampled sound performance cannot be 
increased by adding "expansion RAM" 
boards. 



Coals of My Amiga 1000 Upgrade 

As the data in Figure 1 shows, there is 
room for improvement in the fre- 
quency response of the Amiga's audio 
system. I wanted to perform a simple 
upgrade on my computer to optimize 
the audio performance of my model 
1000 while satisfying the following 
goals: 

A. To improve the high-frequency 
response of the audio system without 
introducing a significant amount of 
distortion. This requirement would be 
necessary for all types of sampled 
sounds, both high-fidelity musical 
sounds and low-fidelity sounds, like 
digitized speech. 

B. To minimize the number of "de- 
structive" hardware modifications that 
would require alterations of the 
Amiga's printed circuit boards and 
soldered components. 1 wanted these 
modifications to be simple and quick; I 
did not want my computer down for 
more than a few hours. 1 did not 
want to keep the computer chassis 
opened up while experimenting with 
circuit designs and modifications 
inside the machine. 1 would rather 
perform modifications and "add-ons" 
outside the machine by sending the 
"raw" signal out to the audio recep- 
tacles on the back of the computer 
chassis. In addition, I wanted to 
ensure that the modifications made to 
the computer would not damage the 
Amiga's audio circuitry if any incor- 



83l! 



I l^ \ Money M / I 



1 Mi^^ 

u 

I.R.S. 

INo Sweat... 

With 

Money Mentor'' ! 

"Keep track of your pennies, and ymir 
dollars will take care of ihemseives," Old. 
but sen.sible advice, even in today's 
complex financial environment. .Money 
Mentor" is a breakthrough in personal 
financial management. It hamcs.se.s the 
awe.sotne power of the ;\iiiij>a" to compute 
and graph dear reports of your financial 
situation. 

A unique system called "Smart Scrolls" 

handles a diversity of tedious data entry 
functions and can save 70",. of the typing 
typically required for enir\'. 

Money Mentor'"' features: 

• 200 budget categories. 

• 30 integrated accounts: checking, cash, 
saving and credit cards. 

• Klaboraie search routine allows 
editing of transactions according lo 
your specific guidelines. 

• Automatic check printing. 

• Automatic Account Balancing. 

• Colorful graphic reports illustrating 
actual versus budgeted amounts. 

• Over 50 reports from which to choose. 

This year... get organized with 
Money Mentor " 




SEDONA SOFTWARE 

11844 Rancho Benardo Rd., Ste. #20 

San Diego, CA 92128 
"mggi To order. 

SS call(6l9) 451-0151 



Amazing Computing V3A ©1988 



61 



rect connections were made when 
audio cables were attached between 
the computer and any other system. 

C, To make "unmodified" audio 
signals available from my A.miga 
without reopening the computer. 



A Tour of the 

Amiga's Audio Circuitry 

When you examine the audio portion 
of the AlOOO schematic (Fig^jre 2), you 
can see that two analog audio output 
signals (AUDA and AUDB) are 
provided by the 8364 (Pauls) Chip 
through its internal digital-to-analog 
converters. These analog outputs are 
fed to a pair of buffer ampl.fiers on 
chip U5G. The buffers serva several 
important functions: they convert 
current to voltage; they isolate the 
Paula chip from the external analog 
audio circuitry on the Amiga's main 
circuit board (motherboard), they act 
as a simple "low pass filter'' to 
gradually reduce the strength of the 
high frequency audio signals as they 
rise above about 4 KHz. 

This first stage of low-pass liltration 
smooths out the sharpest trjinsients in 
the audio signals output by AUDA 



and AUDB. The next section of the 
Amiga's audio system consists of an 
active low pass filter (LPB for the left 
and right stereo channels. The filters 
each have 5 sections, formed by a 
network of resistors and capacitors 
and an operational amplifier. The 
filter design is intended to attenuate 
all frequencies above 7 KHz, Accord- 
ing to the Amiga Hardware Manual, 
this was done to eliminate aliasing 
distortion caused by playback of 
digitized audio originally recorded at a 
sampling rate of 14 KHz. However, 
sampled sounds can be recorded and 
played back at rates of up to 28.8 
KHz, implying that a 14 KHz low pass 
filter could be used, and 14 KHz of 
audio frequency response could be 
obtained. 

Since it is impossible to make a perfect 
low pass electronic filter (a filter that 
passes 7.000 KHz with no attenuation, 
but rejects all frequencies above 7.001 
KHz), the filter in the Amiga starts to 
attenuate audio signals with frequen- 
cies as low as 4 KHz. By experiment- 
ing with laboratory grade electronic 
equipment including a variable- 
frequency low pass filter, I found that 
the Amiga's internal filter made 



sounds above 5.5 KHz inaudible. 
This 7 KHz filter is the culprit that 
limits the high frequency response of 
the Amiga's audio system. 

The Amiga 500 and 2000 were de- 
signed to allow the user to disable the 
left and right channel's low-pass filters 
by activating an internal analog switch 
(field effect transistor) that short 
circuits the LPF components. The 
filter-disabling feature is software 
selectable in the Amiga 500 and 2000. 
This feature allows the user or 
programmer to choose the mode that 
allows playback of high fidelity audio 
sounds (sounds originally recorded 
with sampling rates greater than 
14,000 samples per second). 



Options for Upgrading The Amiga 
1000 Audio System 

A. The "Quick Fix" for 
Enhanced Frequency Response 

The simplest way to bypass the low 
pass filters (LPF) for the AlOOO's left 
and right stereo channels, and obtain 
improved audio fidelity, is simply to 
solder a wire to bypass each filter's 
network of resistors and capacitors. 
(See Figure 3a,) This "hardwired" 



(continued) 



'? »;»»v - ;»w.W8« ; .m ' ;a ^ j: 



;wj^^^g5a^Hw^J.y.■-^».^.-■-^^-.J-■■■y-■. 



A COMPARISON OF THE PERFORMANCE OF AUDIO RECORDING/PLAYBACK SYSTEMS 



AUDIO SYSTEM 



FREQUENCY RESPONSE DYNAMIC RANGE 



DISTORTION 



COMPACT DiSK 
AUDIO CASSETTE 
AMIGA AUDIO SYSTEM 
AMIGA AUDIO SYSTEM 



6 to 20,I3(XI Hz 
AC to 16.000 Hz 
1o 5.5 KHz 
rO 10 KHz 



90 to 96 dB 
70 to 78 dB 
48 dB" 
48 dB " 



0.01 % (digital playback) (14 to 16 bits) 

1 .5 % (analog recording and playback) 

LOW (digital record (8 bits) and playback) 

LOW TO MODERATE* (with HIgh-Frequency Boost) 
(6 bits) 



• DISTORTION FROM 'ALIASlNtS* DEPENDS ON THE RECORDING AND PLAYBACK SAMPLING RATES 

" A WIDER DYNAMIC RANGE iS POSSIBLE WITH COMPRESSION/DECOMPRESSION DIGITAL RECORDING 



Figure 1 



62 Amazing Computing V3. 4 ©1988 



Presenting,The Future Of Biisiness, 

The Commodore Amiga 2000 ^ 

Desktop Presentation System, 
The Next Step Forward. 



Commodore' presents a major 
breakthrough in the art of present- 
ing ideas. Introducing Desktop 
Presentation with the Commodore 
Amiga' 2000. It's the personal busi- 
ness computer that's also a complete 
desktop publishing center, video 
production studio, and live presen- 
tation workstation— giving you 
access to professional-quality results 
at a fraction of the cost of outside 
suppliers. 

Desktop Publishing 
Color. It's the next generation in 
desktop publishing. And with the 
Commodore Amiga 2000, you can 
create your own catalogs, brochures, 
and magazines in up to 4096 colors. 
There's a big advantage in black and 
white, too. Since the Commodore 
Amiga 2000 can display 16 levels of 
grey it gives 
a far better 





En/oysrue "^ freedom of the press wiih 

GoldDisk's^^ Professional Page^'' desktop pubhshtng 

software. Even make color separations with resolution 

osbitib as 2400 dots per inch 





Multi -Tasking 



Here'sashov stoppingjuggllngj^i Since the teinnioJore 

Amiga is the worlds hrst nwhi tasking personal 

business computer you can actually run several programs 

simultaneotisly. 

Strictly Business 

■ For your everyday business needs, 
there's WordPerfect' word pro- 
cessing. Advanced database and 
spreadsheet programs. Complete 
networking. And the Commodore 
Amiga is the world's first multi- 
tasking personal business computer, 
so you can actually run several 
programs at the same time. 

So take a step into the 
future of business computing. Call 
1-800-US-AMIGA to locate your near- 
est Commodore Amiga 2000 dealer. 



Give em a show they II 
never forget. Hook a 
Commodore Amiga 2000 lo 
a Polaroid Paleile" and make 
3Smm slides in up to 40^6 cohfs. 

preview of your laser-printed docu- 
ments than the Macintosh'" SE 
e^er could. 

Desktop Video 
Video is part of the new language of 
modern business. But you won't 
need epic budgets to produce 
your own corporate, sales, and 
promotional videos. With the 
Commodore Amiga 2000 you 
can create professional-quality 
3-D animation. Titles. Wipes. Fades' 
You can even paint over video images 
one frame at a time. 



Network TV producers use the Commodore Amiga to create 

dazz/Ing graphics and special effects. It can boost the 

ratings of your next business video, too. 

Live Presentation 

The Commodore Amiga 2000 
shines in front of a live audience, 
too. Create 35mm slides, story- 
boards, transparencies— even ani- 
mated "electronic slideshows." You'll 
get all the support you'll need when 
you're on your feet. 





Carry your tvhole slide 
presentation in your shirt 
__^____ pocket. When you slip a Hoppy 

disk into a Commodore Amiga 2000 
that's connected to an RGB projeciion TV.youvegot an 
animated electronic slide show svslem 



COMMOnORf 




U a (udcmiik Crf Afvl< Computer. Int.VVi^riJI^nfnt it j rc^atcmJ ei.wl«iuj!k af ihc VMsidPtErectCorpoutian GaldDuk ind Pccjf«s<iO(i4l Ptfe itt ttnitmnlLititGaid 



lUidthc AaugjIogjOJUddcnuikofCcmtnotlace Anuj^ Inc I 



K-^^4mmmmm.mimmi^mw^^.\tiii ^^ Sikwm'^^A 



Multi-Forth™ 

If you haven't tried Multi-F'orth you 

may not have yet unleasheid the full 
power of your Amiga. This compre- 
hensive devefopment environment 
includes: 

•Local Multi-Tasking 

•Built-in Assembler 

•Turnkey Compiler (royalty free) 

•Sound Drivers 

•AmigaDos & Intuition Support 

•Complete Set of Include Files 

•CompuServe Public Forum 

•500 Page Manual 

•New price - $89 
Gall for a technical data sheet or 
check out our online services on 
CompuServe at GO FORTH. 

4701 Randolph Rd. Sle, 12 

Rockville, MD 20852 

301-984-0262 

1-800-FORTH-OK (367-!3465) 

Major credit cards accepted 



.v.w.v.vf.::w.:w.K 



approach was described by the 
Commodore engineer. The permanent 
hardware modification does not 
damage the low pass filter, tut its 
effects on the audio signal cannot be 
altered without re-opening tlie housing 
of the Amiga and desoldering the 
wires. I chose a slightly different 
approach — adding a new pair of 
external audio receptacles to my 
Amiga. This new pair of ou:put jacks 
provides a modified audio signal 
(bypassing the LPF), but doe; not 
affect the signals available from the 
original audio jacks. 



B. The Dual-Mode Upgrade 
My modification is more con'iplicatcd 
than the simple "fix" for the 1000, but 
it isn't as complicated as the LPF 
bypass circuitry and software that 
have been added to the Amij;a 500 
and 2000. In my modification, no 



remote control of the LPF bypass is 
provided (unlike the model SCO's 
bypass system), so no internal, active 
electronic circuitry is required. Add- 
ing active circuitry (transistors, extra 
digital control chips, and data control 
lines) to the Amiga chassis must be 
done with great care, since it is easy to 
create a situation where unwanted 
electronic interference and noise are 
picked up from the high-speed digital 
circuitry surrounding the audio chips. 
This interference can be fed to the 
sensitive audio section. My approach 
worked the first time and introduced 
no noticeable noise in audio output. 

The details of my modification are 
shown in Figure 3b. I simply took the 
unfiltcrod signal appearing at the 
output of the first buffer amplifier of 
each stereo channel, and using 
shielded miniature cable, fed these to 
the exterior of the Amiga chassis and 
box. I added a 4.7 K ohm resistor in 
series with this signal line to provide 
short-circuit protection for the internal 
buffer amplifiers, and to provide the 
series resistor needed to make a 
simple resistor/capacitor low-pass 
filter. The capacitor can be added 
outside the chassis, so you can 
experiment to get the best value to 
match the frequency response of your 
particular audio amplifier and speak- 
ers. The modification put me up and 
running in a few hours. I then had 
two pairs of audio output jacks to 
compare the quality of the signal from 
the "old" Amiga audio system with 
the new, higher-performance system. 



VI. Audio System Modifications 

Note: Perform this modification at 
your own risk. Although the proce- 
dures described here are accurate, they 
deal with very delicate operations and 
electronics. Neither Amazing Comput- 
ing'™ nor the author can be held re- 
sponsible for damages incurred during 
the procedure. As always, such a 
modification also voids your Amiga 
manufacturer's warranty. 



Both audio system modifications 
should be extremely simple for any 
novice electronics hobbyist. If you do 
not have electronic circuit fabrication 
experience (such as soldering inte- 
grated circuit chips and printed circuit 
boards), DO NOT TRY TO LEARN 
ON YOUR DELICATE COMPUTER'S 
MOTHERBOARD! Get together with 
an experienced electronics hacker in 
your local Amiga Users Group, or 
have a computer or TV repair shop 
perform the modification (it should not 
require more than one hour in labor 
charges and SIS in materials for any 
shop to perform the dual-mode 
modification). If you have experience, 
proceed on, using a low power (30 
Watt) soldering iron or soldering 
pencil (Radio Shack part 64-2067), and 
some thin, rosin core solder (Radio 
Shack part 64-006). 



A. Step-by-Step 
Details for Modifications 

1. Flip the Amiga 1000 over and rest 
it upside-down on a clean, flat surface 
with a 12" by 19" cotton cloth towel 
or other padding under the computer. 
Don't use polyester or other material 
that will create static electricity. Also 
avoid sjmthetic carpets, they can 
generate static electricity. To eliminate 
static electricity, have an electrical 
ground nearby, like a water pipe or 
the metal outer surface of a closed 
electrical conduit (not an AC wall 
outlet). This ground point should be 
touched before you make contact (with 
your hands, soldering iron, or other 
tool) with any electronic component or 
computer board. This "grounding" 
operation discharges any static 
electricity on your body. 

2. Open the plastic computer housing 
(described in Amazing Computing VIA, 
pp. 71-72). Remove five screws from 
the deep holes on the bottom of the 
housing and the two smaller screws 
that secure the front panel bezel. 
Attach the screws to a piece of paper 
noting their locations. Turn the 
computer right-side tip and gently pry 
off the four corners of the plastic lid. 



64 



Amazing Computing V3.4 ©T.9S8 



■■-^I' ^ 




Figure 4a: Photo of Kickstart "daughterboard" 

(indicated by Arrom #1) after removal from the motherboard 

(indicated by Arrow #2). 




Figure 4b: Photo showing the location of the audio buffer chip on 
motherboard (next to the round plastic post that fits through the hole in 

the Kickstart board). 



3. Unscrew the large metal shield 
covering the main "motherboard." 
With pliers, straighten the metal tabs 
that hold the metal shield to the 
motherboard and form a solid shield 
ground. Remove the metal shield that 
keeps electronic interference signals 
(created by the enclosed digital 
circuitry) from "broadcasting" and 
affecting other electronic systems. 



4. Remove the three screws holding 
the Kickstart "daughterboard" (see 
Figure 4a) mounted on the large 
motherboard. Discharge your body of 
any static electricity before removing 
the Kickstart board. Carefully remove 
the board by gently rocking the four 
edges upward. Don't pull and tilt one 
edge of the board up more than one 
eighth of an inch before raising the 
other edges by the same amount. 
Place the Kickstart board aside on a 
comer of your static-free worklable. 

(continued) 



The fastest 

Modula-2 

software development system 
for 




Brtremely fast single-pass compiler. Integrated into the 
Amiga Workbench. fu)l support for documentetl func- 
tions (intuition. Exec, Graphics, etc.), doubie-pfecision 
numeric types, including FFR produces optimised 
machine code, links in just a few seconds! The com- 
prehensive devefopment system contains an editor, 
compiler, linker, library modules (Standand & Amiga lib- 
raries), manual and introductorjr MDdula-2 book. 
Minimum configuration: 512K, 1 drive. 

Demonstration disk $ 5 

the IBM PC range & compatibles $ 99 

With M2SDS you develop your Modula-2 programs in a 
power-ful window environment, where all the tools are 
integrated for speed and efficiency: 

- syntax directed editor 

- incremental compiler- much faster tt)an a conventio- 
nal compiler 

-fast linker- produces stand-alone executable pro- 
grams 

-library manager-modules are compact and ergono- 
micaify managed 

- clock, ASCII laWe, calculator 

- all modules are provided in source form 

M2SDS supports the 8087 maths co-processor, REAL 
arithmetic calculates to 15 digits accuracy and easy 
access to the HflS-DOS/PC-DOS/ConcurrentrDOS 
operating environment. Programs and data may use up 
to the ftill 640K OOS memory. No other software de- 
velopment systeni has as many tools and toolboxes as 
M2SDS, 

SDS-)«fj 
Debugger 



M2S0S demonstration disks 

fTorbo-P&scal to Modula-2 
i source code translator 



$249 
$ 79 
$ 5 

$ 59 



rBM/370 Mainframes 
1150a 



One of the fastest compilers in the world (single-pass. 
36000 lines/minitte). full 32 bit arithmetic, separate 
compitation of modules with all the benefits of Modula- 
2 (version control, type checking between modules, 
etc), interface to Assembler and Fortran, support of 
project libraries, produces high efficient native code (in- 
cluding arithmetic checks] for linker and loader. 



Annual contract for support 



$1850 



All these products with full support are available 
from ^^^^^ 

^■"^ INTERFACE 
TECHNOLOGIES 

3336 Richmond, Suite 323 

Houston, Tx 7709B-9990 (713) 523 8422 

Dealer inquries welcome 



A. + L. Meier-Vogt (USA) 
A Im Spaten 23 

CH-8906 Bonstetten/ZH 
Switzerland 
' Tel. (41) {1)700 30 37 

E-Mail: APLUSL@koiilsys.ifi,ethz,ch (UUCP) 




Figure 5: Close-up of the bufferlfUier chip (4084 quad Op Amp). Two test 
points TP2 and TP3 are cUrectly adjacent to each buffer amplifier's output, 
and are indicated in the photo by arrows # 3 and #4. 

The black header connector (arrow #3) provides a ground connection on its 
lower left pin. (Note that .lAc pin is soldered to a wide ground trace on the 
motherboard). 



5. Locate the audio buffer/filter chip 
U5G (figure 4b) on the motherboard. 
It is located to the left of thi2 round 
plastic post protruding through the 
hole in the Kickstart board. (Figure 5a 
shows a close-up of the chip, a 4084 
quad op amp). Two test pads are 
shown with the two uppermost white 
arrows. These test pads are next to 
pins 8 and 14 of the chip. These pins 
provide the buffered, pre-filtered 
output signals from the left and right 
channels of the Amiga's audio system. 
Don't remove the capacitor on the 
buffer amplifier of each sten» ch;innel. 
These capacitors (CI 00 and C%) 
prevent very high aliasing frequencies 
from overdriving your stereo amplifier. 



B. Installing the 
Hardwired "Quick Fix" 
The simplest way to bypass the two 
low pass filters for the left and right 
stereo channels is simply to solder a 
wire to bypass each LPF network. 
This permanent hardware modification 
docs not damage the low pass filter, 
but its effects on the audio signal 
cannot be removed without opening 
the Amiga and desoldering the wires 
again. 



1. To perform this simple modifica- 
tion, solder a thin, solid piece of 
insulated hookup v^re (22 or 24 
gauge) between pins 14 and 3 on chip 
UG5 and a second wire between pins 
8 and 5 of the same chip. Make sure 
the end of each wire is wrapped 
around only the pin mentioned above, 
and does not touch a neighboring pin. 



Next, solder the ends of the wires to 
the correct pins. Make sure to apply 
the soldering iron long enough to 
avoid a "cold-solder" joint, but don't 
overheat the chip, printed circuit 
board, or insulation on the wire. 

2. After you make the above modifi- 
cations, reinstall the Kickstart board 
and test the computer as described in 
section VI. 



C. The Dual-Mode Upgrade 

This more versatile modification is 
slightly more complicated than the 
"quick fix." A new pair of audio 
output cables and jacks is added to 
provide external access to the raw 
audio signal, while leaving the signals 
from the original audio jacks unaf- 
fected. To perform the dual mode 
upgrade do not connect pins 14 and 3 
or pins 8 and 5 of chip UG5. 

This modification requires a few more 
parts. The extra materials cost about 
$10. The parts are: 

— Two 36-inch audio cables virith 
phono plugs on one end, and stripped, 
tinned wires on the other (Radio 
Shack part 42-2370). 

— Two l/8th Watt, 4700 ohm (4.7 K 
ohm) resistors (available in the Radio 
Shack resistor kit, part 271-311). 

— Shrinkable insulating tubing (Radio 
Shack part 278-1627). 



1. To install the dual-mode upgrade, 
drill two 1/4 inch holes (spaced about 
1/2 inch apart) in the back of the 
plastic case, just above the original 
audio jacks. Feed the tinned, stripped 
end of one audio cable through one of 
the holes, so the phono connector is 
outside the computer and the stripped 
end is inside the case. Repeat this 
process with the second cable, using 
the other hole you drilled in the case. 



66 



Amazing Computing V3A ©1988 



2. The shrinkable tubing is an 
important item that prevents a bare 
cable braid (a ground wire) or an 
exposed resistor lead wire from 
accidentally contacting anything inside 
the computer. Choose the smallest 
diameter tubing that slides freely over 
the resistor or the braid wire that 
needs insulation. Later, after all 
soldering is completed, shrink and 
lock the tubing in place by heating it. 
You can shrink the tubing without 
burning and melting it by putting the 
tip of your soldering iron under a 1000 
Watt hair drier. You can also place 
the tip of your soldering iron about 
one inch below the tubing-covered 
wire and let the hot air rise and shrink 
the tubing. Both methods should be 
done with care to avoid overheating 
other electronic components, or 
burning and melting the insulation on 
any nearby wires. 




Figure 6: Photo showing the underside of the Kickstart board with three 
groups of red header connectors (indicted by arrows). 



3, Take two 4.7 K ohm resistors (the 
first three color-code stripes are 
yellow, violet, and red) and clip the 
leads so the length of the resistor, 
from the end of one lead to the end of 
the other is 3/4 of an inch. Solder one 
lead of one of these resistors to pin 14 
of chip U5G, and solder one lead of 
the second resistor to pin 8 of the 
same chip. Solder the center conduc- 
tor of one cable assembly to the free 
end of one of the resistors (after you 
slide a one-inch piece of heat -shrink- 
able tubing over the resistor — see 
Figure 5b). Repeat this process on the 
other resistor and cable. 

The resistors serve two purposes. 
They serve as a safety device that 
limits the short circuit current drawn 
from the audio buffer amplifier if you 
accidentally touch one of the new 
audio cables' center pin to a grounded 
object. They can also be used to form 
half of a simple low-pass resistor 
capacitor filter, when an 0.0047 uF 
capacitor is connected from the new 
audio cable's center conductor to 
ground outside the computer. 



One group is on the upper side of the board; a second group is on the lower 
right side of the board; a third, single connector is on the lower left side of 
the board. 



4. Solder a 3-inch piece of solid, 
insulated hook-up wire to the end of 
the cable's tinned braid, and slide a 
piece of shrinkable tubing over each of 
the shielding braids with its hookup 
wire extension. The tubing should be 
1 /2 inch longer than entire bare, 
tinned braid. Trim the hookup wire, 
so it is just long enough to reach the 
leftmost (ground) pin of the black 
header connector (indicated by the 
lowest white arrow in Figure 5a). 
Connect and solder the free end of the 
hookup wire (which is simply an 
extension of the cable braid) to the 
header ground-pin. Make this connec- 
tion at the lowest end of the pin (very 
close to the motherboard's surface). 
Slide the tubing over the entire bare 
braid and shrink it in place. 



5. To finish the job, gently pull the 
phono-plug ends of the shielded audio 
cables from the outside of the com- 
puter, so the cables inside the com- 
puter have only enough slack to lie 
flat along the wide ground traces on 
the motherboard. Make sure these 
cables are placed away from any chips 
or components that might couple 
electrical noise into the cable. Use 
black plastic electrical tape to hold the 
cables down along the broad copper 
ground strips and route the cables to 
the back of the computer. Run the 
cables in between the plastic mounts 
of the existing audio connectors on the 
Amiga motherboard. During the 
preliminary checkout of the modifica- 
tion, do not strain the cable connec- 
tions by pulling or stretching them to 
connect to an external hi-fi audio 
amplifier. 



(continued) 



Amazing Computing V3.4 ©1988 



67 



VII. Preliminaiy Checkout of the 
Audio System Modification. 

To check the performance ol your 
Amiga and its audio system, perform 
the following steps; 

1. First replace the Kickstar: board. I 
found this critical step somewhat 
difficult the first time I tried it. Make 
sure your body is dischargctl of any 
static electricity and then pick up the 
Kickstart board. Locate the black 
plastic headers with pins on the 
motherboard, and the groups of 
mating red plastic sockets mar three 
edges of the Kickstart board (sec 
Figure 6). Place the kickstart board 
over the motherboard with the red- 
socketed side facing down. Line up 
the pins carefully on the motherboard 
with the sockets on the Kickstart 
board. Squint between the two boards 
to make sure all three groups of 
sockets have their pins in place. 
Gently press down on the top center 
of the Kickstart board to corcnect all 
pins and sockets. Peek between the 
boards again, and press the area over 
each group of sockets until none of the 
metat pins are visible (the black and 
red plastic mating connectors should 
be in tight contact at all locations). 
This can be done only after going 
around the board several times, each 
time pressing down gently over each 
socket area to get a tighter fit. Press- 
ing very hard on the board .ill at once 
can put too much stress on ihe 
motherboard and crack it. 

Finally, replace the three screws that 
permanently hold the Kickstart board 
to the computer chassis. If you 
installed the dual-mode moc iflcation, 
make sure not to stress the connections 
between the new audio cabli3s and the 
audio circuitry. 

2. Connect your monitor, disk drives, 
AC power cord, and an audio ampli- 
fier to the Amiga, and boot up the 
system. If the computer opt:rates 
properly, run an audio sampled sound 



demo program (like the Amicus Public 
Domain Disk Number 10). Test the 
audio performance of the system; if it 
sounds "normal" on both left and 
right stereo channels, power down the 
system. 

Be aware that many sampled sound 
demos do not produce stereo sound. 
The sounds from Amicus 10 come 
from either the left or right channel as 
you press different keys on the Amiga 
keyboard. 

If you can not get the Kickstart icon to 
appear on the Monitor, you probably 
don't have the Kickstart board connec- 
tors seated properly. 

3. Remove all connections to the 
computer, including the AC cord. 
Close the computer, reversing the 
steps you performed when opening 
the computer. When replacing the 
metal shield, remember to twist all the 
tabs back to their original positions. 

If you installed the dual-mode modifi- 
cation (which adds a second pair of 
audio outputs to the computer), you 
must clamp the new audio cables 
down, under the shield, as follows. 
When you replace the metal shield 
over the motherboard, run the new 
audio cables under the flat lip of the 
metal shield. Tighten the screws that 
hold the metal shield, but do not crush 
or cut the new audio cables. The flat 
surface of the metal shield's lip 
normally has about 1 /8 inch of 
clearance above the motherboard in 
the area of the original Amiga's audio 
connectors. The lip, when screwed 
down onto the motherboard and the 
new audio cables, serves as a cable- 
clamping device to anchor the cables 
to the motherboard. Be sure this 
anchoring is done well, so the cables 
and resistors will not be torn from 
inside the computer if you accidentally 
move the computer while it is still 
plugged into an external stereo 
amplifier. 



4. Attach a stereo amplifier to the 
modified system's audio jacks. Be 
sure you have a tone or treble control 
on your audio amp, and then cut the 
treble response on it. This adjustment 
limits the high frequency response of 
the amplifier, since the modified 
Amiga puts out much higher frequen- 



Evaluating the Improvetnent in Your 
Computer's Audio Quality 
To test the final results of the audio 
modification, 1 used several pre- 
recorded sounds and a low cost seven- 
band equalizer with all frequency 
bands set at db, except for the 6 
KHz frequency band (which I set to +8 
db) and the 15 KHz band (which I set 
to its minimum, -12 db). This set-up 
added a low pass filter to the input of 
my audio amplifier, so all frequencies 
above approximately 10 KHz were 
well attenuated. I used sample sounds 
from Amicus 10 and the Deluxe Music 
Construction Set. When I began 
testing the modified audio system, I 
heard no increase in background noise 
due to pickup of electrical interference 
by the new shielded cables that run 
along the motherboard to the outside 
of the computer housing. 

I heard significant improvements in 
the sounds on Amicus 10 that natu- 
rally contained high frequency over- 
tones: "Snare_Drum," 
"Organ_Minor_Chord," and 
"Harp arpeggio." I heard little 
improvement in sounds without high 
frequency components ("Whistler" and 
"Wail guitar"). Some sounds, like the 
eerie "OOhhii," contained noticeable 
high frequency distortion. This 
distortion was audible when played 
through the unmodified Amiga audio 
system, but when played through the 
modified audio system, the non- 
harmonic distortion was more pro- 
nounced. This distortion was probably 
a result of loo low a sampling rate 
during the original recording process, 
or the distortion may have been put in 



68 



Amazing Computing V3.4 ©1988 



intentionally, for an added effect. By 

adjusting the high frequency control 
on my frequency equalizer, the sound 
from the modified Amiga audio 
outputs could be made to sound like 
the lower-fidelity sounds produced by 
the original audio system. 

With Deluxe Music Construction Set, I 
played "Passacaglia" (the same melody 
as 'The House of the Rising Sun"). 
This piece used only two sampled 
sounds, Piano and Electric Bass. There 
was a significant improvement in the 
quality of the Piano sound when 
played through the modified audio 
system (it had more brilliance without 
distortion). The bass sound had a 
noticeable "buzz," probably because it 
was not recorded at a high sampling 
rate. I have played other sampled 
bass sounds through my modified 
audio system that do not have as 
much distortion. 

The most dramatic improvement I 
noticed was when ! downloaded a 
large sampled sound music file from a 
bulletin board. The file was a record- 
ing that played an entire band with a 
female vocalist for about 15 seconds. 
The sounds of crisper drums, clearer 
digitized voices, and an overall 
improvement in sound quality were 
very noticeable when comparing the 
output played from a modified Amiga 
with the "flat" sound that emerged 
from the original Amiga audio system. 
It was clear that doubling the high 
frequency response can add significant, 
new capabilities to the Amiga com- 
puter. 

The Finishing Touches 

Most stereo amplifiers have separate 
treble and bass controls. By reducing 
the treble setting, high-frequency 
aliasing sounds can be eliminated, but 
this also attenuates the desired high 
frequencies as well as the aliasing 
distortion. This tends to defeat the 
purpose of the audio modification. I 
foimd that significant improvements in 
the quality of the sound were obtained 
by inserting a seven-band frequency 



graphic equalizer ahead of my external 
stereo amplifier's inputs. The equal- 
izer contains a group of individually 
adjustable bandpass filters. Equalizers 
allow "boosting" of the audio frequen- 
cies in desired bands (6 to 10 KHz for 
the modified Amiga output), while 
"cutting" the aliasing distortion 
signals. Virtually any low cost 7 or 
10 band audio graphic equalizer will 
give a performance superior to the 
Amiga's audio system. The $60 Radio 
Shack unit 1 bought produces no hum 
or noise that is audible above the 
normal background noise level of the 
unmodified or the modified Amiga. 
If, after trying the modified computer 
with your present audio amplifier, you 
feel an equalizer is needed, get one 
with more than 7 bands, and be sure 
there is a band with a center fre- 
quency between 6 and 8 KHz, and 
another band centered at about 15 
KHz. 

When recording sounds, always use 
the highest possible sampling rate (at 
least 20,000 samples per second). Use 
a low pass filter on the input of the 
sampler with the cutoff frequency set 
below 14 KHz. A graphic frequency 
equalizer can be used as a recording 
filter as well as a playback filter. 

Since the new Amiga models have the 
high frequency audio modification 
installed, musical product vendors 
should soon be producing improved 
sampled sounds and software to play 
the sounds back with the best fidelity. 

Conclusions 

New, higher fidelity musical software 
and hardware should soon be pro- 
duced for the Amiga 500 and 2000, 
and model 1000 owners will be able to 
take advantage of these improved 
audio products after installing the 
audio hardware upgrade. 



•AC- 



Note: CD and cassette data from Elec- 
tronic Musician, September, 1987 



F-BASIC 



A FAST Compiled 

Enhanced BASIC 

Language 

n The beginning programmer will 
appreciate the simplicity and ease 
of use of the F-Basic™ system. An 
entire disk of sample programs and a 
comprehensive manual are included. 

D The advanced programmer will 
appreciate the many enhanced 
features supported by F-Basic™: 

• Extensive Control Structures 

• Recursive SUBROUTINES & 

FUNCTIONS 

• LOCAL & GLOBAL Variables 

• 32, 16, And 8 Bit INTEGERS 

• Ultro Fast 9 Digit Floating Point 

Routines 

• Powerful String Manipulation 

Facilities 

• RECORD Structures And Pointers 

• Easy High Leivel Access To 

AMIGA™ Screens, Windows, 
Menus, Sound, Speech, And 
Graphics 

• Direct Access To ROM Kernel 

Routines 

• INCLUDE And APPEND Separate 

Files 

• SNOBOL4™ Like PAHERN 

Matching 

• Direct Access To 68000 Processor 

Registers and Bitwise Operations 

D The included FastCom™ compiler is 
a one pass optimizing compiler 
generating in-line 68000 machine 
code. Extensive Compile and Run 
Time Errors. FastCom compiles 
thousands and thousands of lines per 
minute because it is written in 
F-Basic™! 
A proven system. 

ONLY $79.95 (u.s.) 

complete 
NOW SHIPPING! 

Send check or money order to: 
DELPHI NOniC SYSTEMS, INC. 

P.O. Box 7722 
Rapid City, SD 57709 

For fastest delivery coll (605) 341-2580 

F-BaskTW and faifCom^'^ am rsgitfBrBd trT3<i»marVt of DNS. Inc. 
AMIGA'^ Is o regiusrvd irademoric oF Convnodara^UAICAj, Inc. 
SNOBOU^^^ it a regldwad Iradnmarli t)\ M VofjJiona 
LabomioriH. 



Amazing Computing V3.4 ©1988 



69 



■: ««««'M*i>>»;'>K*«*K^-»»:'!->;'>K->4':v:-;« 



>^?!s^^5w55^^^555!5555!^5^?5!^%^ 



AMIGA AUDIO 



AMIGA Audio Software 



Aegis AudioMaster S59.9S HMSL $150 

Edit digitized sound samples, including Hierarchical Music Specification Utnguage: 

changes i« pitch, sample rate, t>o.'-unte, itrsd music composition and performance language, 

octane. Special effects cart also be added. Frog Peak Music 

Aegis Dev(;lopmsnt, Inc. 

Hot & Cool Jazz $29.93 

Aegis Sonix S79.95 jazz data disk for DMCS. 

Combine multiple instruments, siimpled soutids. Electronic Arts 
and Audio Master files. !nclude:\ on-screen 

editing system, instrument sytheaizer aid Hotlicks $49.95 

MIDI support. Keyboard player tuhich lets you create your 

Aegis Devtdopmant, tnc own compositions or restore a classic. Includes 
built-in rhythm guides and editing. 

Animation $19.95 Infinity Software 
45 sound effects like door knocks, footsteps 

useful for graphics and goTites. Instant Music $49.95 

WaveTable Technologies. : : Easy musical composition through tnouse 

control Efactionic Arts- 

Big Dollar Synth SI 9.95 

Samples from hi-end syntks acro:'>s six octaves Instrument Voice Disks $49 

in IFF and Mimetics format. Data disk for Dr. T's se^uencerlpatch editor. 

WaveTable Technologies Dr. Ts Music Software Inc. 

Cased Artist Editor/Librarians. $149 Keyboard Controlled Sequencer 

Multi-tasking graphic editor/librarian fiir many Vt.6 $249 

synthesizers: Rolartd D-50, DX-7, others. Sequencer which incliuies multi-programming 

environment, variations generator, and full 
Dr. T's Music Softv/are Inc MIDI editing. 

Dr. Ts Music Software Inc 
Deluxe Music Construction Set S99.95 

Full-featured sound editor with complete input, MediaPhlle $525 

notation, and score printing. Media production database and automatic pky- 

Dectronic Arts back system which includes audio and video 
editing. 
DNA music . $19,95 Interactive MicroSystems 

Plays music based on DNA sequences. Menu 

choice of DNA., speed, tone, channel. MeUotron $19.95 

Silver SJoftware The Mellotron instrument sampled, htduding 
cello, Dtdin, flute in IFF or Mimetics format. 
Dr. Drums,Dr. Keys,Bach Soni;book $29 WaveTable Technologies 

Data disks for Dr. T's sequencerlpatch editor. 

Dr. T's Music Softvrare Inc. Micro Midi Price unknown 

MIDI with 6 outputs, two inputs, external 
Four Disk Set $79.95 clock output, and serial pass-through. 

All four disks of samples MicroIUusions 

ECT SampleWare 

Micro SMPTE Price unknown 

Fractal Music $19.95 SMPTE reader which allows Music-X to syn- 

Plays music based on fractal mathematics. chronixe with with uideo/audio tape decks. 

Menu choice of number of notes, speed, tone, Microlllusions 

channel, save, recall. 

SJver Software 



Modem Percussives $19.95 

Over 60 sampled real and percussive sounds 
for music composition programs. Available in 
IFF format. 

WaveTable Technologies 

Music Mouse $79 

Musical composition with the mouse. "Instru- 
ment" reacts to mouse movements to play 
internal sounds or create MIDI data. 

Opcode Systems 

Music Student I $59.95 

Educational tool which includes theory, 
\ intervals, triads, scales, symbols, etc. 8 
learning levels and 178 lessons. 

Associated Computer Services 

Music-X $199.95^ 

MIDI sequencer which includes keyboard 
mapping, real-time recording, a configurable 
librarian and full-featured editing. 

Microlllusions 

Pattern Splatter $49.95 

IRflndom sequence generator dealing with 
appregiation patterns. Randomize various 
MIDI parameters within user controlled ranges. 
Mimetics Corporation 

Perfect Sound $89.95 

Digitizes from any line-level input source and 
creates IFF instruments. Includes a library of 
pre-recarded sounds. 

Microsearch Inc. 

Phonolink Plus $299 

Touch-lone decoder for your synthesizer. 

Computer Expansion Products 

Protein Music $29.95 

Plays music based on protein amino acid 
sequences. Menu dwice of protein, speed, tone, 
channel. 

Silver Software 

Real Brass $19.95 

Digitally recorded brass instruments, including 
trumpet, tuba, freneh horn, others in IFF and 
Mimetics format. 

WaveTable Technologies 



va_ 



70 



Amazing Computini^ V3.4 ©1988 



PRODUCTS 



RXMix , S79.95 

IB-channel programmable mixer for Yamaha 
RXII drum machirus. 

Pregnant Badger Music 

Sonic Spectrum S59.95 

all four: SI 99.95 
A collection of sampled sounds organixed as 
Rock, Percussion, Classiail, and Sound Effects. 

Datasound 

Sound Effects Library $99.95 

Si'jt disks of wide-ranging samples. 288 sounds 
total. 

Karl R, Denton Associates 

SoundLib IFF Portable 

(Vol. 1-6) S19.95ca 

Six disks of sampled sounds compatible with 
DMCS and Sonix. Over 30 sounds on each 
disk, iticluding syntk w)ices, real instruments, 
etc. 

WaveTabte Technologies 

SoundLib Miinetics' Exclusive 

(Vol. 1-3) S19.95ea 

Sampled sound Hbraries in Mimetics formal. 
Over 30 sounds per disk, including real 
instruments and syntks. 

WavcTablc Technologies 

SoundScape Pro MIDI Studio S149.95 
MIDI sequencinglsampling package dealing 
with computer sounds and external music; a 
complete "musical operating system" 

Mimetics Corporation 



SpeakarSsm VI .0 $112; 

introductory price 592 

Assists in the design and optimization of 
loudspeaker systems. Many applications, IFF 
support. 

dissidents 

Symphony Music Video S24.95 

Continuous display of video and sampled sound 
in IFF format. 

Speech Systems 

Symphony Songs Price unknown 

A Collection of nearly lOOO sampled sounds, 
including Beatles, Classical, Rock, more. 
DMCS, Music Studio or Sonix format. 

Sf>eech Systems 

Synth Wizard S99.95 

Editor/librarian for popular svnthesizers: 
Yamaha DX-7IDX-7 I},TX-81Z/FB01 and 
Roland D-50 and MT-32. 

Datasound 

Synthia High Performance 

Digital Synthesizer S99.99 

Digital synthesizer which allows you to create 
and modify IFF instruments. Addititx 
synthesis, percussbn, many other features. 

The Other Guys 

Texture SI 99.95 

MIDI sequencer with multi-tasking, mouse! 
keystroke interface, and graphics. 

Magnetic Music 



The Digital Synthesizer Disk $24.95 
26 instruments generated by synthesis 
software. IFF or SoundScape format, 

ECr SampleWare 

The Grab Bag Disk $24.95 

26 odd ethnic musical sounds and effects, 
including ball flute, dog bark, etc. 

ECT SampleWare 

The Orchestral Disk $24.95 

37 multi-sampled sounds, including strings, 
grand piano, etc. 

ECr SampleWare 

The Rock Disk $24.95 

Samples including drum kits, guitars, bass, 
organ, synthesizers, etc. 

ECT SampleWare 

Utilities #1 $49.95 

8 additional modules for SoundScape. Mapper 
Splitter, System X, Frame Counter, Fuel 
Gauge, etc. 

Mimetics Corporation 

Waveform Easel $19.95 

Use the mouse to draw any curve shape desired 
to define waveform tables the Amiga uses to 
make sounds. 

Silver Software 



AMIGA Audio Hardware 



Deluxe MIDI Interface $89.00 

MIDI 500, 1000,2000 with input, thru, two 
switchable thrujoiitsimd a switchable RS-232 
Pass- thru. 

Mypertek/Silicon Springs 

ECE MIDI! 000 $64.95 

AlOOO MIDI interface with in, out, through and 
RS-232 bypass. : 

ECE Research & Etevelopment 

ECE MIDI 500/2000 $64.95 

MIDI 500/2000 with in, out, through, and 
RS-232 bypass. 

ECE Research and Development 



FuttrreSound $175 

Audio digitizer with microphone and editing 
software. 

Applied Visions 

MIDI lOOO $49.95 

AlOOO MIDI with in, out, through. 

Mimetics Corporation 

MIDI 1000/500/2000 $49.95 

MIDI for all models with in, two outs, artd 
through. Skyles Electric Works 

MIDI 500/2000 549.95 

A5OOI2O00 with in, out, through. 

■Mimetics Corporation 



MIDI Gold 500/2000 $59.95 

Features 1 MIDI in, 2 MIDI outs 1 MIDI out/ 
thru; serial pass-through allows other serial de--. 
vices to be connected at the same time. 

Golden Hawk Technology 

MindUght $169 

Hardware and software combine to create art 
related to audio changes, IFF compatible. 

Visual Aural Animation 

SoundScape Sound Sampler $99.95 

Digitize microphottefaudio input to produce 
sampled sounds in Mimetics or IFF format. 

Mimetics Corporation 



Amazing Computing V3.4 ©1988 



71 



GELS IN MULTI-FORTH 

Programmer's tools needed to use Gels to their fullest potential. 



Syjohn'Biisfialija 



Gels In Multi-Forth. It sotnds more like the title of a 

poorly-made outer space movie from the 1950's. The title is 
oddly appropriate, though, since outer space is where you're 
likely to wind up if you try to program the Amiga's Gel 
system without some set of tools. We'll eventually develop 
such tools in this series of articles. 

Power and versatility come at a price to the programmer. 
There are images to be drawn, piles of data structures to be 
allocated and initialized, links between the data structures to 
be established, and pointers to image data to be stored. 
And oh yes, don't forget to store your image data in CHIP 
memory only, or your Super-Deluxe Pac Man game will end 
up as Inviso-ware. All this has to be done before you see 
even one pixel rendered on your expensive RGB monitor. 

Unless you have the tools -o handle these mundane, tedious 
tasks, you'll find you need to re-invent the wheel just to 
construct a simple display. Below are four of the many 
tools needed to use Gels tc their fullest potential. 

1) Any art program that will allow you to pick up part of 
the display and write it as a standard IFF file. 

2) A program to convert the data in an IFF file for display 
as a Bob or Vsprite. 

3) Routines to put up anir of the different types of 
graphics playfields the Amiga is capable of displaying. 

4) Routines to dynamically allocate (and deallocate) gel 
structures, read in their image data, and link them 
together. This include;; various other functions, such as 
moving Etnd altering the appearance of a gel. 

The art program is no problem. There are many art 
programs, inexpensive and otherwise, available for the 
Amiga. We'll begin our look at gels with tool number two, 
a program to convert images you've drawn with your art 
program to the proper format for display on the machine. 

Before looking at the program in detail, I must point out 
some things about the files it makes, and the functions we'll 
eventually develop. The files generated by my program, 
iff2bob, are not "editable" cr "include-able" files. Instead, 
the files contain only the numbeis comprising the Virtual 
Sprite structure, image data, and, if you want them, the 
Animation Component and Animation Object structures. 



The main reason the files contain only certain numbers is 
one of Multi-Forth's major drawbacks — the relocation issue. 
Certain structure members, specifically pointers (which 
abound in Amiga programming), must be initialized at run- 
time. If you initialize a structure as you would in C and 
"include" it at the top of your program, the addresses will 
be correct after the program is compiled, and your pointer 
variables will be initialized properly. But, when you finish 
your code and turn it into a stand-alone application (a 
"turnkey"), the next time you load your finished program 
from the disk, the structures won't necessarily be loaded at 
the same address they compiled at. So, all your pointers 
(which still contain the compile-time addresses) vn\\ be 
pointing to the wrong places! 

Another reason for not making "include-able" files: if you 
store your image data as an array in the dictionary, what 
happens when your program is run on an Amiga with 2Mb? 
No one will see your 32-shades-of-yellow Pac-Man, because 
the image wasn't loaded into chip RAM. Since storing the 
image in the dictionary and copying it later to chip RAM 
makes no sense whatsoever, the only alternative is to have 
functions dynamically allocate gels, read their image data 
along with the other variables (like x and y coordinates) 
directly from the file into chip RAM, and then establish the 
links between them. Thus, the problems of tedious initiali- 
zation, relocation, and Inviso-ware images will be solved by 
our set of functions. Here is the format of the files created 
by iff2bob; 

1) The Virtual Sprite structure. 

2) Image data. You can later determine the size of the 
image data from information in the VSprite structure. 

3) The Animation Component structure (only if requested). 

4) The Animation Object structure (again, only if 
requested). 

The information in the colormap file is stored differently 
than in the IFF CMAP chunk. For example, the color 
represented by the hex value 0DB9 would be stored as DO 
BO 90 in IFF format. This program reads in those three 
bytes, then uses the packrgb routine to squish them down to 
0DB9 again, which is the way the color will be stored in 
your color table anyway. 



72 Amazing Computing V3A ©1988 



Now to the program listings. Listing One is called dos.calls, 
which defines the AmigaEKDS file functions the program 
uses. This file should be "included" at the top of the 
iff2bob and iff2sprite programs. Also, you'll need to include 
the file graphics/gels.f again, at the very top of the pro- 
grams. In my personal Forth system, I made a snapshot 
with these files, which is why you don't find them "in- 
cluded" explicitly in my listings. 

Listing Two shows the IFF converter in its entirety. Listing 
Three gives the modifications you'll need to make to the 
converter, to use on sprites. 

Before using the programs, you'll need to make a data disk 
to store the images you've drawn. I made mine with 
directories named comps, for animation objects and compo- 
nents such as bobs, sprites, cmaps, and brushes. Fn addi- 
tion, I put tumkeyed versions (one for sprites, one for bobs), 
of the program on the data disk. 

Hopefully, your painting program will allow you to twiddle 
with the number of bit planes you want to draw in. (You'll 
need to do this, if you want to make sprites.) Using Dpaint 
U, all you have to do is select a two -plane display when the 
program first boots up. Also be careful, when capturing 
your sprite as a brush, that you don't go over sixteen pixels 
in width. Use the option which lets you see your cument 
screen coordinates to avoid this hazard. Remember, sprites 
may be any height, but only 16 pixels wide. 

When you draw your images, try to get as many on one 
screen as you can. This way, you need to generate only one 
colormap file, which may be used by all your gels. 

Now you can use iff2bob to convert your brushes to gels. 
After invoking the program from the CLI, you'll be 
prompted to enter the name of your input (brush) and 
output files, and to indicate whether or not you'll need a 
colormap (cmap) file. Be sure to specify the complete path 
for your files. For example, to specify a file named "balll" 
in your brushes directory, you'd answer the input file 
prompt like this: brushes/balll. Or, with your data disk in 
the external drive: dfl;brushes/balll. The message telling 
you to use a .cmap extension is of course merely advisory; 
you can name your file whatever you like. 

After verifying your specified files, the program will make 
sure you've given it a valid IFF file to read, and it will spit 
error messages back if you haven't. Then you'll be asked 
for other information, such as the Gel's starting x and y 
coordinates, HitMask and MeMask (used in collision 
detection), PlaneOnOff, and PlanePick. If you need to make 
an animation component structure, answer y to this prompt, 
and you'll be asked for still more information. The object of 



all this is to get as much information about each gel in the 
file now, which will cut down tremendously on the amount 
of initialization you'll have to do when it comes time to 
actually display the things. 

Let us begin to dissect the program itself. A project like this 
lends itself perfectly to "bottom-up" design, so we should 
begin by looking at the low level functions first. 

Program Listing Two is divided into three sections. The 
first part contains variable declarations. There is nothing 
tricky or of special interest here; all variables are explained, 
so 1 won't repeat myself. 

The second section begins the actual low-level functions, the 
ones that deal with opening, verifying, and closing the 
user's files. These functions are laid out in typical Forth 
style: start at the very bottom, gradually working your way 
up to the main function of your program. If you've chosen 
the names of your Forth words carefully, your main func- 
tion will be very easy to read because of its English-style 
syntax. The functions in this section culminate in the word 
readyfiles, which represents an intermediate stage in 
program development. Readyfiles uses some of these low- 
level functions, but it in turn will be called by the main 
function. 

Some of these words are handy, generic functions which 
could be used in any program. The first, "filename?" asks 
the user for a string of up to eighty characters in length, 
storing the string at the address the caller passed. It tacks a 
zero on the end of this string, so it can be passed to any 
Amiga function requiring a null-terminated string. 
Report.error uses the AmigaDOS function loErrO to report 
certain error conditions. The "?(y/n)" command gets a 
character from the keyboard and puts a true or false value 
on the stack. 

Notice the Forth word "key" asks for only one key stroke, 
but in reality you give it two — the character, plus a carriage 
return. The first key gets the character and sends it through 
the case statement, and the last key drop is needed to pick 
up the carriage return and throw it away. Get.number takes 
the address of a null-terminated string and loops until it 
gets a valid number (up to 10 digits in length) from the 
user. The siring is repeated each time through the loop. 
The rest of the functions in this section are specific to this 
application, and are very straightforward Forth. 

Section three is where all the action is. These words deal 
directly with the IFF file. The first, roundcksize, takes the 
size of an IFF data chunk, and rounds it up if the size is 
odd (not divisible by 2). "?iff.file" reads the first four bytes 
of the specified file. If their ascii value is equal to FORM, 
this is indeed an IFF file, and the function reads the next 4 



(continued) 



Amazing Computing V3.4 ©1988 



73 




AMIGA BIJAL 3V2 " 
DISK DIFUVES 

100% Compatable with 
Amiga 500, lOOCi & 2000 Computers 

• Internal Power Supply 

• All Metal Chassis 

• Horizontal Layout 

• Vented Enclosure 

• On-Off Switch 

• 6 foot 3-prong linecord 

• Primary Circuit Breaker Protected 

• Color Coordinated to Amiga Computers 

ONLY $395.00 
Single Disk Drive w/pass-thru $199.00 
20 Meg Hard Drive (SCSI) with Controller 
Only $699.00 

Comp-V-Save 

414 Maple Avenue. Westbury, NY 11590 

In NY State (516) 997-6707 

Outside NY State (800) 356-9997 

Call for our complete PD Software catalog. 



bytes {the length of the fOe) and leaves the count of that 
read operation on the stack for use as a true flag. If FORM 
is not present, the user's files, are closed, and a zero is left 
on the stack to indicate that :he function failed to find an 
IFF file. 

The next word uses the same method as "?iff.file" to 
determine if an ILBMBMHD hunk is present. If the hunk is 
there, its twenty bytes are read into the bmaphead structure, 
declared in section one. 

Packrgb is an interesting Sittls function. It takes byte values 
of red, green, and blue, and packs them into one word. The 
red value is shifted four places to the left, then the value of 
green is "or'd" with red. The blue value is shifted 4 places 
to the right, and or'd with the red /green value. (The green 
value doesn't need to be shifted, since it's in the middle.) 

If the user's "cmapfileid" is non-zero, then he wants a 
colormap. live length of the colormap is read, and three 
bytes at a time are taken from the file. These bytes are 
packed down to a single woid and written to the colormap 
file. If the user doesn't want a colormap, the entire chunk is 
read into the pad and ignored. 



The function "findbody" is one of the most important things 
in this program. It negotiates the road from the BitMa- 
pHeader to the BODY of the IFF file, creating a colormap 
along the way in case the user wants one. The local 
variables "foundbody" and "proceed," both initialized to 
zero, are used to indicate the success or failure of the 
function. Each time through the loop, four bytes are read 
from the file. If the count returned by ReadO is zero, then 
we've reached the end of the file before finding the BODY. 
"Abort .cleanup" is then called, and a 1 is stored in found- 
body, terminating the loop. Proceed will still be ;:oro at this 
point, however, and this will indicate that the function has 
failed in its quest. 

If the count was not zero, then the four ascii values at the 
pad will be the name of an IFF hunk. A case statement 
determines if that hunk is one we're looking for. If the 
values at the pad form CMAP, "?gencmap" is called. If it 
forms BODY, we've completed our quest, A 1 is stored in 
both foundbody and proceed, terminating the loop, and 
leaving a true flag on the stack to indicate success. Other- 
wise, the name of the hunk is printed with a message that it 
is being skipped. Then the length of the unknown hunk is 
read, rounded as per "roundcksize," and the data in the 
hunk is stored and ignored at pad. Foundbody will still be 
zero, so the loop will continue. 

"Allocimagehandle" uses information contained in the 
BitMapHeader to determine the amount of space needed to 
store the image. The little "16 mod" song and dance is here 
to compensate for IFF's strange ways. Technically, if you 
were to make an image thirty-two pixels wide, that image 
would need to be stored in three sixteen-bit words, since we 
start counting from zero (a thirty-one pixel wide image 
would require two words). However, in an IFF file, you 
may find a thirty-two stored in the width field of the 
BitMapHeader, but the image data is laid out using two 
words. So, in order to figure out how many bytes are in 
one row of the image, you use the modulo operator. If 
there was a remainder, you need to divide the width (in 
pixels) by sixteen, and add one to it. If the pixel width is 
divisible by sixteen, you can leave it alone (although 
technically, you should have to add one to it also). 

"Rcadbody" is a simple function which skips over the length 
field of the BODY and just reads the data into the input 
buffer. The global variables "height," "idepth" (changed to 
avoid conflict with the Forth word "depth"), and "decom- 
pressf" are initialized here also. 

Tlie "decompressrow" and "convertbody" functions are 
perhaps the most difficult to understand. In order to 
understand how they work, it is necessary to see how image 
data is laid out in an IFF file. The data is arranged in the 
following manner: 



74 Amazing Computing VM ©1988 



row 0, from bit plane 
row 0, from bit plane 1 
row 0, from bit plane 2 
row 0, from bit plane 3 



row n, from bit plane 
row n, from bit plane 1 
row n, from bit plane x 



However, the data has to be in the following format to be 
used by the machine: 

row 0, bit plane 
row 1, bit plane 
row 1, bit plane 



row 0, bit plane x 
row 1, bit plane x 
row n, bit plane x, etc. 

To complicate matters, the data may be compressed. For 
now, let's just look at the normal, uncompressed case. To 
convert the data, we use nested do-loops. The outer loop 
index will be the height of the image, the inner will be its 
depth. The local variable "thisline" is initialized to point to 
the buffer holding our IFF image data. The others, "row" 
and "planeindex," are initialized to zero, and will be used to 
move the image data to the proper location in its final 
destination, the "imagedata" buffer. 

As long as the data is not compressed, all we need to do is 
move the bytes in each row of the IFF image to the appro- 
priate spot in our "imagedata" buffer. How to determine 
the "appropriate spot"? Well, each time through the 
innerloop, the variable "planeindex" is incremented by the 
height of the image, multiplied by the number of bytes per 
row. In addition, "thisline" is incremented by the number 
of bytes per row. So, the first time through, we'll move the 
zero-th row of bit plane zero to our buffer. The next time 
through we'll be moving row zero of bit plane one, and so 
on. 

When we fall out of the inner loop, the variable "row" is 
incremented by the number of bytes per row of the image, 
"planeindex" is cleared to zero, and the inner loop is begun 
again. This time through the inner loop, we'll be moving 
row one of bit plane zero, row one of bit plane one, and so 
on. 





INBOARD 1000 



E 



DISK OFFER! 

Send S3 DO tor a Demo Disk that 

stiows just hew easy it is to 

install your Soint INBOARD. Disk 

IS packed with many usetui PD programs 

andulilities, 

SaeCifyA-SOOorA-lOOO 



220 West 2950 SouttT 
Salt Lake City. Ulati8411S 
18011 485-42J3 
Majot Ctedit Cards 

1-800-433-7572 



PROVBi Internal Memory 
Expansion For The A miga * 500 
aniilOOO. 

Add up to ;.5 m Dl Zero Wait-Stale Fast 
Memory for a total of 2.5 MB on your 
Amiga 500 and 2.0 MB on your Amiga 1000 

• Availahle in various user-expandable 
tonliguralionslrom'.'K tol.SWB wilti 
diagnostics included 

• Battery Backed Ctock/Calendar standard on 
1000 Version, optional on 500 Version. 

• Fast, solder less, no-modilication installation 

• Safely uses Amiga power in both U.S and 
European models. |G50 ma. max Svdc) 

• Detailed inslallalion inslructions included 
on disk, 

• Complete set of system utilities (auto- 
config. ram on/ol(. readclock, protected ram 
disk, morel with automatic install routines 
included 

■ Factory technical support. 

• Affordable! Only SSra.OO for Inboard 
500-OK. 

• Satisfaction GUAHANTEED. Of your 
money back! 

See your dealer or contact Spirit Technology 



TECHNOLOGY 



SPIRIT TECHNOLOGY CORPORATION 



If the data in the IFF file was compressed, we have a 
different problem on our hands. A 1 stored in the decom- 
pression field of the BitMapHeader indicates that the byte 
run encoding scheme was used on the data. The data is still 
stored as described above, except each byte of image data is 
preceded by a signed byte (call it n) which tells what to do 
with it. The signed byte is read from the input buffer, and 
one of three things can happen: 

1) If <= n <= 127, then the next n -i- 1 bytes are 
transferred literally from the input buffer. 

2) If -127 <= n <= -1, then the next byte is copied 
-(n) -I- 1 times. 

3) If n = -128, no opieration is performed. 

The function "decompressrov/' handles this problem. The 
function loops until it transfers the number of bytes per row 
to the "rowbuffer." Each time through the loop, the signed 
byte n is read from the input buffer, and the appropriate 
action is taken. Of special note here is the fact that Multi- 
Forth does not know about signs on anything other than a 
thirty-two bit integer. That's why I had to play the "store 
and shift" game with n. In order to maintain the correct 
sign on n, it has to be stored (using C!) in a thirty-two bit 
integer variable, then shifted to the right 24 positions (-24 
scale). 

{conlinuei) 



Amazing Computing V3.4 ©1988 



75 



After the number of bytes per row has been copied to the 
"rowbuffer," things can pro<:eed as described for a normal, 
uncompT«sed case. 

The remaining functions in !;ection three deal with prompt- 
ing the user for variables needed for the gel structures, and 
are straight Forth. One glitch in these functions is extremely 
important to note. It pertains to incorrect (or incomplete, in 
this case) documentation of certain variables in the Anima- 
tion Component and Antmanon Object structures. Appar- 
ently the velocity and acceleration are not, as the Rom 
Kernel Manual would have us believe, the only variables 
defined as fb<ed point binar;' numbers. In fact, the variables 
AnX, AnY, and all the translation variables in the Animation 
Component are also treated as such. The form of these 
numbers is "nnnnnnnnnn.ffffff", where "n" is the whole 
number part and "f is the fractional part. All values must 
be shifted six positions to the left. For example, the number 
10, shifted six places to the left, becomes 640. For these 
variables, just enter the number as you want it (i.e. the 
integer), and the program will take care of the shifting. For 
now, you'll have to stick to using only integers in these 
variables — the program doesn't do fractions. A round of 
applause should be given to Mr. Roy Thompson, for 
exposing this in his article on sequenced animation. The 
article appears in the April/May '87 edition of AmiProject. 

The main function in the program is "doifflbob." Just from 
a quick reading of this function, one should immediately be 
able to get an idea how the program works. The files are 
readied, then tested for IFF validity. Each of these three 
"test words" contains code for aborting the operation, 
should the file prove invalid. If the file passes all the tests, 
we can proceed with our work. We read the body of the 
file, convert it, write out the VSprite structure, write the 
converted image data, then -ATite out the animation struc- 
tures. We then finish up, diallocate memory handles, close 
files, and ask the user if he wants to continue. The whole 
process is spelled out plainb/, simply, and neatly. 

If you look one more time at the way the data is stored in 
an IFF file, you'll notice it's already in the proper format for 
use as a sprite. In addition, since the brush you'll make is 
so small, no decompression should be needed — even for a 
brush as tall as your display. Consequently, the words 
dealing with these things won't be needed to use this 
program to make sprites. To make the program "iffZsprite," 
I suggest typing in "iff2bob,' malcing a copy of that file, 
then using program listing three to modify one of those 
files. Of course, you can mcike the programs stand-alone 
applications, simply by tum:<eying them. For iffZbob, type: 

turnkey" (driveOiff2bob" doiff2bob 



For sprites, type: 

turnkey' (drive :]iff2sprrte" dolff2sprite 

The process takes around five seconds, and the resulting 
files are runnable from the CLI. 

Well, the length of this article and program wouldn't 
indicate it, but converting an IFF file is not all that difficult. 
For an even clearer illustration of what's going on, type out 
a small IFF brush file using opt h, and try to follow the 
program's execution. Next time, we'll look at developing 
functions to put up Amiga display modes. 

Usling One i; 

V **** Listing One: dos. calls 

\ ■»•• Dos functiflft calls, as per Huitt-Forth. 

\ " I've prefaced each function with *dos' to avoid 

\ •■ conlualon with Multl-Forth's tile functlont, 

1005 constant HODE_OLDFILE 
IQOS constant MODE_NEWFILE 

! dosopon Id2 id! call. lib I 5 edO ; 

I doscloso !dl call. lib I 6 ; 

! dosHead :d3 IdJ lal call. lib I 7 8dD ; 

: dosMrlte Ida ld2 !dl call. lib l • jdO : 

: dosIoErr call. lib 1 22 8d0 ; 

: dosDElotG IcSl call, lib 1 12 ; 



listing Two t'/^ -'^"^ ' ' '' "!w-'««™ii«> 

\ .... Listing Two: i£t2bob.I 

\ .. These programs were made entirely with Multi-fort^i, 

\ ■■ a product of Creative Solution*, Inc. 

\ ■■ <701 Randolph Boad Suite 12 

\ "• Bookvllle MD 20852 

anew marker 

\ • • 

\ ** Houtines to read an IFF bruah file and store the ** 

\ .* data for use as a bob. «. 

\ ■■ You'll need to include "graphics/gels. f infl ray •• 

\ ■' file, ^dos. calls' , if you haven't made a snapshot * 

\ •' with these files. 

V ' 

\ ■• 

\ .. Here is a declaration of the BitMapHeader ** 

\ •" structure as defined in the IFF doeunent. ** 

structure BitMapHeader 

SHORT: +B.'4Hwidth \ raster width in pixels 

SHCKT: -iBMHholght \ height In pixel.-. 

SHORT: tBMHX \ x position 

SHORT: tEHIiy \ y position 

BYTB: +BKHnplanes \ number of bit planes 

BTTE: +BHHraasKing \ choice of masking technique 

BYTE: +SHHcompressian \ corapression technique used 

BYTE: tB«Hpadl \ unused pad 

SUCftT: +BMHtransparentcolor \ transparent color number 

BYTE: tBMHxAspect \ for determining the size 

BTTE! iBHHyAspect \ of a pixel. 

SHORT; +BMHpagewldth \ width of the display e.g. 320 

SHORT: +BMHpag»hBlqht \ height of the display e.g. 200 
structure .end 

\ ••• • « 

\ "' The following are the types of chunks to read, ** 
\ .. defined as constants. ** 

ascii FORM constant form 
ascii ILBH constant ilbn 
aacli CKAP constant cmap 
ascii BOOY constant body 



76 



Amazing Computing V3.4 ©2988 



\ "*«■*• Declaration of data atructures^. 

struct VirtualSprtte vaprt 
struct AnlnCoicp acomp 
struct AnlmOb aob 
struct BitHapileader bmaphead 



*<* Buffers and Clob«l variAbles, 



create inputfile BO allot \ buffers for filenames. 

create outputfile BO allot 

create cmapfile BQ allot 

create rowbuffer 128 allot \ buffer for data decompression. 



cflobal infileid 
tflobal outfileid 
global cmapfileid 

global imagehandle 
global datahandle 
global imagedata 
global databuffer 

global chunklGngth 
global byte sper row 
global decoinpressf 
global height 
global idepth 



\ file id's for reading t writing 
\ Co files. 



N Stores handle to the inagedata. 

\ Stores handle to file input buffer. 

\ Stores pointer to actual data. 

\ Stores pointer to actual data buffer. 

\ length of an iff chunX- 

\ # of bytea per row of the image 

\ Flag indicating decofcpression algorithni> 

S Height of Che image. 

\ Depth of the iiciage. 



Kotes about the following words: 

filename? : Accepts a string from the user, and 

Cacka a rero on its end. 



closefiles ; Checks to see if a file is even open 
and closes it if it is. Clears all fileld's. 



report . error : Prints applicable error inessage, 
then aborts. 



7(y/n) ; Generic "(y/nj" prompter. Leaves flag 
on the staclc. 



get.nuTober : Accepts an address of a null ter- 
minated string. Prints out the string, and loops 
until a valid number is received from the user. 



readyCiles : Gets inputs output, and ci^p (if 
desired) filenames, opens files and reports on 
errors. Kote report. error aborts on an error. 



abort .cleanup : Closes files, if one is determined 
not to be an IFF or brush file. The output file 
given by the user is deleted, as is the cmap file, 
if one was requested. 



filonanie? { addr - ) locals! addr | 
addr BO input . string 
addr count 1- + c! ; 



Even up the Score !!! 




Start using your Amiga to give you the 
Advantage in making better investment 
decisions! Color Graphics of Individual 
Stocks and General Market Trends. High 
Low Close, Moving Averages, Volume, 
Momentum and Relative Strength. Select the 
best performers with Relative Strength 
Rankings. Know when to get into and out of 
the market. Update stocks and/or mutual 
funds manually or automatically. Easy to use 
Communications included. 



Only $99.95 



See your bcal dealer or call: 

Software Advantage Consulting Corporation 

37346 Charter Oaks Blvd 

Mt. Clemens, MI 48043 (313) 463-4995 

AmiQa and The Inveator's Advantage are trademarks of their companies. 



closefiles 



; report. error 



( - ) 

cr ." Closing all files..." 

infileid if infileid dosClose then 

outfileid if outfileid dosClose then 

onapCileid if onapfileid dosClose then 

cr 

to infileid 

to outfileid 

a to OTiApfileid ; 

{ - ) 

dosIoErr 

case 

2Q2 of 

endof 

203 of 
endof 

204 of 
endof 

205 of 
endof 

213 of 
endof 

214 of 
endof 

221 Of 

Gndof 
cndcase 
closefiles 
?turnJcey if bye 

else abort 
then : 



" Object is in use. " cr 

" File already exists," cr 

" Directory not found." cr 

" Input file not found." cr 

" Disk Is not validated," cr 
" Disk is write protected." cr 
" Disk is full." or 



?(y/n) ( - flag ) 
(y/nl- 
key 



get .number 



ready files 



case 

ascii y of 
ascii y of 
ascii N of 
ascii n of D 

endcase 
key drop ,- 

I addr - n 1 
locals I OS I 

begin 

0$ dup 0$len type 
ID ask. number 

until ; 

( - \ 

inputfile 60 erasa 
outputfile BO erase 
cmapfile 80 erase 



Input file name — > 
Output file name —> 



- 1 endo f 

- 1 endo f 

en do f 

D endof 



inputfile filename? 
output file filename? 



inputfile 1+ MODE_OlliFILE doaOpen 

dup 0- if report, error then 

to infileid 
output file 1+ MODE_NEWFILE dosOpen 

dup 0- if report. error then 

to outfileid 

cr ," Generate colormip file?" ?(y/n^ 
if 

cr ." Filename (use ^croap eXtension)«> 

anapfile filenajtie? 

□napfile 1+ MODE_NEWFILE dosOpen 

dup 0- if report. error then 

to cnapfileid 
then 

abort. cleanup ( — ) 

cr cr ." Can't us© these files..." 
closefiles 



(continued) 



Amazing Computing V3A ©1988 



77 



cr . " DaletLiq output file..." 

output file 1+ d'SsDelc^e cr 

cmapflle 1+ dup 
c8 0- 
not if 

. " Deletiiig bad Colormap tila*^^" 
dosDelcte cr 
else 

drop 
then 
cr ; 

Words dealing with the IFF ifile! 
roundcksize: If ths aize o:' an TKF dat,a chunk is odd, 
then there is a pad byte t;icked tin the end whlc^ is not 
included in the stored sizi; of the chunlc-this takes 
of that, by rounding up whim necassaty. 



7iff.£ile ; Checks for FOiiM in the specified brush 
file. Reports the error i3' FORM is not present, and 
leaves a flag on the stack. If forn is present, skip 
over the next 4 bytea, and leave the count { returned 
by doaHead) on the stack aif a true flag. 



roadBMHD i Checks for pri^sence of ILBM. If it' a not 
there, then calls abopt-cli-antip. Qcberwise, reads in 
20 bytes of the Bit>{apHeadc:r to tnaphead. 



packrgb : Accepts 3 bytes as stored in the iff chap, 
and squishes then down to « single word. 



?gencniap : Read in the lencth of the CHAP chunk, then 
loop, reading in 3 bytes at a tiite. Calls packrgb to 
fix the bytea for storage tA a color. 



findbody : Skips over all irrelevant chunks. This is 
everything except CHA?a anc BODYs . Drops out of the 
loop when BODY is found. ]f EOF is reached before BODY 
the files are chucked, and things start over. 

alloclraagehandle : Allocate enough spsce to hold the 
iiugedata and a buffer to lead the file into. 



readbody : Skips length field, and reads data into 
databuffer . 



decompresarou: If compreaaion is indicated, unpackn one 
row of data as described in the iff document. 



convertbody : Stores image data from the brush file in 
the format, in which it is used to display an image 
the amigaj decompressing each row, if necessary. 



writevsprite : Copies data frora BitMapHeader to the 
vsprite structure, prompts tor otfier info, and 
writes it all out to the user's output file. 

writeobject : Aska if uaer wants an Anljacomp structure 
and prompts for info if ho does. Then asks uaer if he 
wants an TmimOb structurOr prompting for info, if ao. 



wrltebody : writes out iraagedata to user's output file. * 

: roundcksize ( size - rounded up size } 
dup 
2 mod 
if 

1 + 
then ; 

: ?ifC.filB ( - flag J \ returns false if not an IFF file. 

infileid pad 4 dosRead drop 
pad 8 form - if 

infileid pad 4 dosRead 
else 

ini3utfil(! count type 
," ia net a valid IFF filej" cr 
abiirt .clcianup 
then ; 



( 



) 



cr ." Reading BitMiipHeadt-r. . .* 

( ILBH + BMHD + Lentfth " 12 bytes i 
infileid pad 12 doiiRead drop 
pad i ilbm - 
if 

infileid bmaphe.-d BitHapHesder dosRead 
cr 
else 

cr . " file misairq ILBfcJ" cr 
abort. cleanup Q 
then ; 



: packrgb 



7gencmap 



( red / green / blue — packed rgb value ) 
locals I blue green red | 

red 4 scale 

green I 

blue -4 seal* I ; 



( 



1 



Q locals! packedcolor t 

infileid addr.of chunklength 4 dosRead drop 

cmapfileld If 

cr ," Generating Color Map file..." 
chunklength do 

infileid f>ad 3 dosRead drop 
P3d c8 
pad 1+ cS 
pad 2+ ci 

packrgb addr^of packcdcclor w! 
£3tiapf ileid addr.of packedcclor 2 
osWrite 

drop 
3 +loop 



findbody 



infileid pad chunklength dosRead drop 
then ; 



J 



C locals I foundbody proceed | 
begin 

infileid pad 4 doaftead 0- ( returned on ECF ) 
not if 

pad i 

caae 

onap of ?gen'Cmap 

endof 
body of 1 to foundbody 
1 to proceed 
endof 



( write out chunk name ) 
( get its length | 



pad 4 type 

chunk skipped..," cr 
infileid addr.of chunklength 4 dosRead drop 
infileid 
pad 
i read the chunk. > J chunklength roundcksize doaHead drop 
endcase 
else 

cr ." End of File reached before body." cr 
." Could be a bad IFF flic..." cr 
abort .cleanup 
1 to foundbody 
then 
foundbody 
until 
proceed ; 

I allocimagehandle { — } 

bmaphead '^BHHwidth wE dup 
16 mod 

if 16/ 1+ 

else 16/ 

then 
Z* dup to bytesperrow 

bmaphead +BMHheight wg • 

bfnaphead +BMHnplanes cp ■ dup CLEAR g4)t .memory 

to imagehandle 

inagehandle % to imagedata 

CLEAB get. memory to datahandle 
datahandle t to databuffer 

readbody { — ) 

infileid pad 4 dosRead drop 
alio cinia g e ha n d 1 e 

infileid datahuffer datahandle handle. size dcsHead drop 

bmaphead dup dup +BHHheight w? to height 
+BMHnplane3 cS to idepth 
+B*fflcoinpreaslon eg to decompressf ; 

decorapressroH ( thisline rowbuffer bytesperrow - jnodlfied thisline 

locals I Icngthbyte llbytes terflpbuff thisline I 

tenpbuff 129 erase 
begin 

Itbytes 0> 
while 

thisline c§ addr.of lengthbyte c! 

lengthbyte -24 scale to lengthbyte 



78 



Amazing Computing V3.4 ©1988 



thisline 1+ to thialine 
lengthbytB 12? range 

it 

1+ to lengthbyte 

Itbytes lengthbyte - to l#bytes 
thisline tempbuff lengthbyte anove 
thisline lengthbyte + to thisline 
tempbuff lengthbyte 4- to tetmpbuff 
else 

-127 -1 range 
if 

n&gate 1+ Co lengthbyte 

llbytes lengxhhyte - to l-#bytes 

teinpbutf lengthbyte 

thisline ce fill 

thisline 1+ to thisline 

tempbuff lengthbyte + to tenipbuff 
else drop 
then 
then 



repeat 
thisline 



; convertbody 

localsl thisline tow planeindex | 
databufCer to thisline 
height do 

idepth do 

decompressf 
if 

thiallrte roubuffer bytesperrow 
deconpcessrow to thisline 
rowbuffer 

imagedata row + planeindex + 
bytesperrow cinave 
else 

thisline imagedata row + planeindex + 
bytesperrow c!Jcove 

bytesperrow thisline + to thisline 
then 

height bytesperroH ■ planeindex + to planeindex 
loop 
to planeindex 
bytesperrow row + to row 
loop ; 

: uritevsprite ( — 1 

vsprt VirtualSprite erase 
bmaphead +Bl^width wg 
dup 1£ mod 

if 16/ 1+ 

else le/ 

then 
vsprt +v&Width vl 
height vsprt +vsHeight yj 
idepth vsprt +v3Depth wj 



D" Starting X coordinate ->" 
vsprt +vsX wl 



get .number 



0" Starting Y coordinate — >" get .nuiaber 
vsprt 4v3Y w! 

D** PlaneOnOff — >" get.tiuniber 
vsprt +vsPlaneOnOf f c! 

0" Planefiek —>" get. number 
vsprt +V3PlanePic>: cl 

0** MeMask ->" get .number 
vsprt 4v3MeHas)c wl 

0" HitHask ->" get. number 
vsprt +V3HitMBs)c w! 

cr . " Writing Vaprite structure..." 

outftleid vsprt VirtualSprite dosWrite drop cr ; 

! writebody ( — ) 

." Writing Iraage data.,." 

outfileid imagedata imagehandle handle. size 

doaWrite drop cr .• 



writeanimob ( — ) 

aob AnimOb erase 

0" X position of this animation object ->" get. number 
6 scale aob +aoAnX w! 

0" Y position of this animation object —>" get.ftumJtjer 
6 scale aob +acAnY v\ 



£ 



Hard n Fast 



You bought your Amiga because it is the most 
powerful personal computer and installed a hard disk 
to make it even more powerful. Being a knowledgable 
computer user, you then set out to backup your data. 
You started the program and waited . . . through 
hours of gronking and disk swapping. It was so 
tiresome that you put off backing up your disk again. If 
you hauen't already lost irreplaceable data, you know 
that it will happen sooner or later. 

@%&C%! That's how I feel too. I know the Amiga is 
better than that. Fortunately I know how to program 
the Amiga right. 

Backup your whole disk, a directory, or just the files 
that have changed since your last backup. Restore it all 
or just a file or two that you fat-fingered. It's fast, 10 
megabytes in under a half hour! It's easy to use, with 
menus and all that nice Intuition stuff. 

And it's only $49.95 
It's Hard n Fast 

Don's ComputerWorks 

6641 Scott Street 

Hollywood. Florida 33024 

(305) 966-8179 



3^ 



0" X velocity (in deciiMl) ->" get. number 
6 scale aob +aoXVel w! 

0" Y velocity (in deciinal) ->" get. number 
6 scale aob +aoYVel wi 

0" X acceleration —>" get. number 
6 scale aob +aoXAccel w! 

0" Y acceleration — >" get. number 
6 scale aob +aaYAccel w! 

O" X Ring translation value —>" get.mjLwiber 
6 scale aob +aoRingXTrans wl 

0" Y Ring translation value —>" get .nuijiber 
6 scale aob +aoRlngYTrans Wl 

cr . " Writing AnimOb structure..." 
outfileid aob AnimOb dosWrlte drop cr ; 

writeobject ( — J 

acomp AnimComp erase 

cr ." Do you want an AnimComp structure?" ?(y/n} 
if 

Q" XTran3">'' get. number 
€ scale acomp ^acXTrans vi 



1-Q 



0" YTrans->" get. number 
6 Stale acomp +acYTrans w; 

." RlngTrlgger?" ?(y/n!' 

If HINGTRIGGER acomp +acFlags wl 

then 
0" Ti!neSet->'' get . nimber 
acomp +acTinieSet w! 

cr ." Writing AnimComp structure..." 
outfileid aiconp AnlitCorap dosWrite crop cr 

." write AniroOb structure? " ?ly/nj 
if 

writeanimob 
then 



(continued) 



Amazing Computing V3A ©1988 



79 



Putting it together; 



; doi£f2bob 



» w»t ttitmn 



iilii«*Anar« 



The turnkey token. 

1) Gets files ready. 

2) Tests lor rrfneas. skip to 1 if not IFF. 

3) Reads EitMap header info. 

4) Skip over unknoun chunks. 

5) Heads and converts data to proper 
foma^t for dlaplay, 

6] Close lilea, deallocate handles. 

7) As): to process another .., loop or quit. 



cr ." Ready to convert IFF brushes to Bobs." cr 
begin 

readyfiles 

?iff.file 

if 

readBHHD 
if 

findijody 
if 

re ad body 
convert body 
writevaprlte 
writebcdy 
uriteot ject 
cr ." Finished." cr 
imagehandle to. heap 
datahandle to. heap 
close files 
then 
thdn 
then 
cr ." Process ancther file?" ?(y/n) not 
until 
?turnXey IE 

bye 
else 

abort 
then ; 



Listing Three ^| 



■** Listing 3i Changes to IlfZbob to enable it to make 
• sprites. Anything that is not called out in this file 
■ should stay the same. 



»■'■» Declaration data structures... 
"" ones needed to make sprites. 



These are the only 



struct VirtualSprlte vsprt 
struct BitHapHeader ticaphead 



BuCtera and Global variablesr The following are the 
only buffers and variables needed for making sprltoa. 
The 7 others may be deleted. 



create inputfile 80 allot 
create autputfile 6 allot 
create cmapfile BQ allot 

global infileid 
global DUtfileid 
global onapfileid 

global i;nagehandle 
global ijnagedata 

global chimklength 



The following functions need to be redefined; ^OH'I.Y the 
functions listed here need to be modifiedi 



allocimagehandle i Allocates enojgh space to hold the 
imagedata. No longer stores the number of bytes per 
row. 



readbody : The imagedata i.i the IFF file is now read 
directly into the buffer, since no conversion is needed. 



The function ^decorapressrow' is :^0T needed in this file. 
San:e for 'cohvertteody' . 



writevsprite : Copies data from 3itHapHeader to the 

vsprite structure, prompts for other info, and 

writes it all out to the user's output file. 

Notice different method of gettlr^g height c depth values 

...this is needed since we got rid of those global 

variables. 



: allocimsgehandle { - ) 



bmaphead +BMHwidth wg dup 
16 mod 

if 16/ 1+ 

else 16/ 

then 

bmaphead fBMHheight wi * 

bmaphead +BMiinplane5 eg • 2* CLEAR get. memory 

to imagehanille 

imagehandle I to imagedata ; 



readijody 1 - ) 

locals I length | 

infileid pad 4 dosRead drop 
pad i to length 
alloc imagehandle 

Infileid imagedata length dosRead drop : 

writevsprite { — ) 

vsprt VirtualEprite erase 
bmaphead +BHHwidth wg 
dup 16 mod 

if 16/ 1+ 





else 16/ 






then 




vsprt 


tvsWldth 


wj 


titiaDhead 


+BMHtieight 


«S 


vsprt 


+vsHeight 


w! 


tnaphead 


tBMHnplanes 


cS 


vsprt 


tvaDepth 


ui 


VSPRITE 






vsprt 


+vaFlag3 


wj 



0" starting K coordinate ->" get. number 
vsprt +vsX wJ 

0" starting Y coordinate — >" get .number 
vsprt +V5Y w! 

O'" PlaneOnOfl ->" get. number 
vsprt +vsPlaneOnOf f cl 

O*" PlanePick ->" get. number 
vsprt +V3PlanePick cl 

0" HeWasX ->" get.nuiriier 
vsprt +V3HeMask w] 

0" HitHask ->" get. number 
vsprt +vsHitM3sk w! 

cr ." Writing Vsprite structure,..*' 

outfileid vsprt VirtualEprite dosWrite drop cr ; 

\ • •**•• * -ii*..**.r.,. *,•... ....*..* 

\ •■--■• Putting it together: Redefinition of iffZbob. **■ 
\ ...... ... 

\ ...... doifr2aprlte ; The Curnkey token, 

\ IJ Gets files ready. 

\ 2} Tests for IFFncss. Skip to 7 if not IFF. 

V 3) Reads BMHD. 

\ 4) Skips ever unknown chunks. 

\ 51 Writes data to output file. 

\ 6J Close files, deallocate handle. 

\ 7) Ask to process another .. .loop or quit. 

\ ..-**»>. *. * , 

: doiff2sprite 

cr ." Ready to convert IFF brushes to sprites." cr 
begin 

readyfiles 
?iff.flie 
if 
readBKHD 
if 

findbody 
if 

readbody 
writevsprite 
write body 

cr . " Finished." cr 
iAiagehandle to. heap 
closefiles 
then 
then 
then 
cr ." Process another file?" ?(y/nl not 
until 
2turnkey if 

bye 
else 

abort 
then ; 



•AC- 



80 



Amazing Computing V3.4 ©1988 



A Ad A. Z I M G PREVIEWS 



SAM BASIC 



by Bryan D. Catley 



Many— but still not all— the Amiga's features are readily available through 
simple BASIC statements with Simon's Amiga Multi-tasking BASIC. 



First there was ABasiC (back in 
Amiga's early days). Then there was 
AmigaBASLC (currently distributed 
with all Amigas). A little later True 
BASIC came on the scene (a special- 
ized version of the language that is 
very portable between supported 
machines). Now we have SAM 
BASIC. SAM BASia Yes, Simon's 
Amiga Multitasking BASIC, or SAM 
BASIC! 

Simon? Etoes that name ring a bell? 
If you have ever worked with the 
Commodore 64, I'm sure you have 
heard of Simon's BASIC. It's 
an alternate version of the 
BASIC language designed 
specifically for the 64, and 
distributed by Commodore. 
David Simon has designed a 
particularly powerful version 
of the BASIC language spe- 
cifically for the Amiga. 

Remember, Microsoft's 
AmigaBASIC is just a 
variation of their BASIC im- 
plementation on the Macin- 
tosh and IBM PC. As 
powerful as it is, AmigaBA- 
SIC definitely lacks overall 
power when you consider the capabili- 
ties of the Amiga. However, SAM 
BASIC is designed specifically for the 
Amiga, and I doubt you will ever see 
a variation cropping up on another 
computer (but never say never). In 
fact, it is my guess that as time goes 
by and SAM BASIC is updated and 
increased in power, it will become 
more and more fixed into the Amiga's 
way of doing things! 



Does all this whet your appetite? If 
you consider yourself a serious BASIC 
programmer, it should. For now, 
many (but still not all) of the Amiga's 
features are readily available to the 
BASIC programmer via simple BASIC 
statements. 

SAM BASIC is not available in the 
United States (they are still looking for 
an appropriate distributor), but I was 
able to pick up a copy during a recent 
visit to the United Kingdom. The 
package consists of a single non-copy 




distributed with SAM BASIC pro- 
grams. The run-time version, without 
editing capabilities, is essentially the 
same as the development version. 
(Double-clicking on a program icon 
invokes the run-time version automati- 
cally.) 

Many of the general commands and 
functions found in most BASIC 
languages, along with those specifi- 
cally designed to use Amiga features 
are available. In fact, many of these 
additional commands are named after 
the operating system 
routines they use. For 
example, SET PENA is 
used to set the foreground 
color; SET PEMB sets the 
background color; SET 
PENO sets the outline 
color; TEXT displays text 
strings using specialized 
fonts, styles, and modes. 



protected disk with lots of demos, and 
a very complete reference manual, but 
no tutorials. 



SAM BASIC Features 
SAM BASIC comes in two distinct 
versions. There's a development 
version which only the buyer is 
allowed to access and use, and a run- 
time version which may be freely 



The most obvious feature 
SAM BASIC offers is its 
multitasking capability. 
Up to 32 independent 
tasks may be run under 
SAM BASIC at any time. 
Each task is scheduled 
separately by SAM BASIC 
and has its own set of variables. 
Communication between tasks is 
possible through the use of "mes- 
sages." While not useful for every 
application, the ability to multitask is a 
major plus which, on its ovm, lifts 
SAM BASIC out of the ordinary. 



(continued) 



Amazing Computing V3A ©19S8 



81 



Complete structured programming 
facilities are included within the 
language. IF THEN ELSE, WHILE, 
CASE, REPEAT UNTIL, and iJLOCK 
are fully supported. All of these 
features make programming much 
easier. 

Also included is full support for IFF 
files. Commands such as LOAD 
SCREEN, WRITE IFF, READ IFF, and 
TRANSFER IFF provide reasonably 
complete support for IFF files. But 
once you have the file on yoi; r screen, 
handling it is up to you! 

All screen formats, including HAM', 
are supported. However, there is little 
or no direct support for HAVI 
screens/ windows once they are 
opened. It's all up to you! 

Another neat feature is the ability to 
draw directly on screens without 
opening windows. One demo pro- 
gram shows a squadron of Ul-Os (I 
think) flying across the Workbench 
screen! And speaking of screans, how 
woiald you like to be able to move a 
custom screen up and down over 
another screen? SAM BASIC provides 
it for you! 

Graphics is where SAM BASIC really 
shines: it has all the expected capabili- 
ties, a complete set of commands to 
handle 3D animated drawing:;, and 
more! Patterns, mouse pointers, 
sprites, and bobs are all defined orline 
in a simple manner. The Amiga's 
fonts are also fully supported and very 
easy to use. 

All events (menu selections, mouse 
clicks, keyboard presses, etc.) are 
detected via a READ EVENTS com- 
mand. Follow this with a CASE 
statement for each of the exptx:ted 
events, and you can see how simple 
event handling is! 



It is also possible to issue AmigaDOS 
commands directly from within SAM 
BASIC with the EXECUTE command. 

Because SAM BASIC itself is fairly 
large, not all of it is loaded into 
memory at start-up time. Commands 
handling specific areas are grouped 
together into extensions which must be 
loaded before those commands may be 
used. This may be done in direct 
mode, or under program control. For 
example, to insure the graphics 
extension is loaded, you would issue 
the following command: 

IF NOTCEXTENSIONCgraphlcs')) 

THEN EXTEND WITH 
'SamBASICiejctenslons/graphics'). 

One advantage of this technique is 
that it becomes very easy to add 
custom extensions to the language, 
and instructions for doing this are 
included in the reference manual. 



What SAM BASIC Cannot Do 
Believe it or not, there are a number of 
things which SAM BASIC cannot do, 
depending upon your personal 
requirements, they may make a 
difference. 

There is no direct support for gadgets, 
so you still have to simulate them. 
Sub-menus are not supported, and 
there is no method of directly calling 
operating system routines. Addition- 
ally, you cannot implement the USING 
option of PRINT and LPRINT, and 
LINE INPUT is also unavailable. Also, 
relative files and a few other com- 
mands and functions are not sup- 
ported. 

Another downer is that we are back to 
using mandatory line numbers, 
although labels may be used via the 
DEFINE LABEL command. 



touched the surface of SAM BASIC, 
and 1 intend to follow up with a more 
detailed review a few issues iTom 
now. In the meantime, if you would 
like further information, or want to 
purchase a copy of SAM BASIC, you 
vnU need to get in touch with: 



PCC Sales Limited 


3 Mundells Court 


Welwyn Garden City 


Herts, England, AL7 lEN 


Phone: 011-44-707-371616 



The price of SAM BASIC is £89.99 
sterling. At an exchange rate of SI .75 
to the pound, this price works out to 
$15750. Should you decide to call, 
please remember the UK is five hours 
ahead of Eastern Time. 

If you would like a demonstration 
disk, 1 have created one (with PCC's 
permission) using many of the demos 
on the distribution disk, which 
includes a paint program. TTiis demo 
disk utilizes only the run-time version 
of SAM BASIC, and as such, you will 
not be able to examine any of the 
source code — just watch the pro- 
grams execute! If you would like a 
copy, please send me a formatted 
blank disk, a self addressed stamped 
envelope, and S5 (to cover my time 
and the wear and tear on my disk 
drives), and I will send you one as 
quickly as I can. Mail your blank disk 
to: 



Bryan D. Catley 
2221 Glasgow Road 
Alexandria, VA 22307-1819 

(Please, no phone calls; and if you 
send me a check, be prepared to wait 
until it clears.) 



Finally... 

Obviously this preview has barely 



•AC- 



82 Anmzing Computing V3. 4 m988 




If you learn to be comfortable using pointers in C, 
you're ready to make the transition to assembly language. 

by Patrick J. Morgan 



If you've never programmed in assembler, making the 
transition from a high level language can be a strange and 
traumatic experience. While you can get a book to learn 
68000 assembler, there's still quite a gap between being able 
to code in 68000, and being able to make things happen on 
the Amiga. But don't get nervous — two things narrow this 
gap for Amiga programmers. First, C programming 
language, the de facto standard development language for 
the Amiga, has in addition to a very complete set of high 
level constructs, features with a definite assembly language 
feel, such as the frequent use of pointers. If you learn to be 
comfortable using pointers in C, you're ready to make the 
transition to assembly language. 

The other thing making the transition easier is the set of 
include files, like exec.i, that come with the macro assem- 
bler. These files correspond to the .h include files you're 
familiar with from C, and enable you to write code for the 
Amiga that often has an amazing resemblance to C. 

The include files define and use an extensive group of "mac- 
ros" that ease programming for assembly language program- 
mers. What is a macro? A macro is a set of instructions, 
called pseudo-ops, that tell the assembler to replace the 
macro name, whenever you tise it, with whatever the macro 
was defined as. A macro works like a subroutine call with 
an important difference: instead of going to the subroutine 
and returning, the macro-generated statements are substi- 
tuted directly in-line in your source code. 

The use of a macro involves three things: the macro defini- 
tion, where you create a macro; the macro invocation, where 
you call a macro; and the macro generation, where the 
assembler inserts the macro text into the source code in 
place of the macro invocation. Sounds confusing, doesn't it? 
Don't worry, it will soon be clear. 

One of the most common things you'll do as an assembly 
language programmer is call operating system routines. A 
typical calling sequence would look like this: 



cir.l 
lea 

JSf 



move. I dO.DosBase 



dO .-We don't care which version, 

Dos_Nome,al ;Set up ptr to library name. 

_LVOOpenLlbrar/(a6) ;Note; this assumes that 

register a6 contains the address 
of the base of the exec. library, 
ttie library that contains the 
OpenLlbrary routine. 
;Save base address of dos.llbrory. 



If you place the instruction; 

Include "llbraries/llbrarles.r 
near the top of your source file, you can replace the 

jSf _LVOOpen Libra ryCa6) with 

CALLLIB _LVOOpen Library 

This works because libraries.! contains the following macro 

definition, 



CALLLIB 


MACRO 


;Macro Header 


IFGT 


NARG-1 
FAIL 


;Macro Body. 


ENDC 






JSR 


\1(A6) 




ENDM 




;Macro Trailer. 



The Macro header tells the assembler we are defining a 
macro named CALLLIB. It's important to realize that 
defining a macro doesn't cause any code to be written. 
Instead, the assembler remembers the macro definition, so 
when you later call the macro, the assembler can substitute 
the macro "definition" for the macro "invocation," or call. 
With that in mind, let's analyze the macro body. 

The IFGT is one of a set of conditional operations that allow 
you to control the execution of the assembler. With true 
conditional statements, assembly (or macro generation) 
continues through an ENDC. EF^JDC stands for end condi- 
tional. If the statement is false, the assembler skips lines as 
if they were comments, until it passes the ENDC. The IFGT 
conditional is true if the expression following it is greater 
than zero. If the expression is greater than zero, the 
statements that follow are generated, up to an ENE)C 



(conlinuei} 



Amazing Computing V3.4 ©1988 



83 



conditional ending statement. In this case, the condition for 
the IFGT conditional is NARC-1. What's NARG? NARG is 
a variable the assembler uses to keep track of how many 
arguments you use when you call a macro. The idea here is 
to make sure you don't use too many arguments. Saying 

CALLLIB _LVOOpenWinciow,200,400. ;ERROR 

is wrong, and we don't want to generate any further in this 
case. 

I'll explain exactly how it wcrks. If you used more than 
one argument, NARG-1 is greater than zero, the conditional 
is TRUE, and the assembler continues with the next sequen- 
tial statement, FAIL. FAIL is another pseudo-op used to tell 
the assembler to quit. If we try to call this macro with too 
many arguments, the assembler will print the line as an 
error and possibly quit, depending on the assembler you 
have. The Aztec assembler cuits, but the Amiga assembler 
just prints the error message. 

On the other hand, if you us»2 just one argument, the correct 
case, the expression equals z<jro, or FALSE, Since the 
conditional is false, the assembler now treats following lines 
as comments until it skips past the ENDC, This time the 
FAIL is skipped and the assembler continues on past the 
ENDC statement. 



You've probably already noticed the \1 in the arguments for 
the JSR on the next line of the macro. This is how we tell 
the assembler where we want it to put the arguments of the 
macro. \1 refers to the first argument in the list we use, \2 
the second, and so on. The \1 in the line with the JSR tells 
the assembler to substitute the first (in this case the only) 
argument for the \1. So after the assembler replaces the \1 
with our argument, LVOOpenLibiary, it replaces: 

CALLLIB _LVOOpenUbrary with 
JSR _LVOOpenLlbrarvCa6), 

the same instruction we used before. 

It's important to realize when this takes place. The assem- 
bler replaces the macro invocation with a macro definition 
in a pre-pass. No object code is generated, and the assem- 
bler simply places the macro definition as text into the 
source file, in place of the macro invocation. In a later pass 
it will be assembled as if you had written it there yourself. 

A related macro in the libraries.i include file is used when 
you want to call a system routine, but a6 doesn't already 
contain the base of the correct library. Suppose we've 
already opiened the dos, library and stored the pointer to the 
dos.library in DosBase, a6 still contains ExecBase, and we 
want to call the Delay function from the dos.library. We 
can use the LINKLIB macro: 



Writing Stand Alone Programs With the Aztec Assembler 



While the Aztec assembler is normally used in conjunction 
with the Aztec C compiler, it can also be used as a stand-alone 
product. There is, however, a problem. When the Aztec 
assembler processes a label, by default it changes the reference 
to it to a short offset relative to the address contained in 
register a4. Thus 



move.! label.dO 
move.l offsetCa4),dO 



This is good, since the alternative. 



would be assembled as. 



The obvious question is, where does the value in register a4 
come from, and what should it be? Well, here's one answer, 
dug out from the depths of the tech info section of the Aztec 
manual. If either the small code or small data model is used, 
register A4 must point 32766 bytes after the beginning of the 
program's data segment. To insure this is set up con-ectly, we 
can place a label, say Data_Start, at the beginning of the 
initialized data section. The first instructions in your program 
should be; 



where offset is a signed 2 byte 






integer. 


movea.l 


#0ato„Start,a4 




addo.l 


#32766,04 



move.! absaddress.dO 



where absaddress is a 4 byte 
absolute address, is a longer and 
slower instruction. 



Note that we can't say 

tea Data_Start,a4 

since this would create a reference relative to a4 and we 
haven't set it up yet! Thereafter, never use a4 for anything else. 



84 Amazing Computing ViA ©1988 



LINKLIB 


MACRO 


IFGT 


NARG-2 




FAIL 


ENDC 




MOVE.L 


A6,-(SP) 


MOVEl 


\2.A6 


CALLLIB 


\1 


MOVE.L 


(SP)+,A6 


ENDM 





;Fall If more than 2 arguments. 



push a6 onto the stack. 
;Move second org Into a6 
;CALLLIB <flrst argument> 
jRestore at from stack. 



Our use of LINKLIB wotild look like this... 



move. I #50,dl 

LINKLIB _LVODelay,Dos_Base 



.■50 ticks = 1 second. 
.■call Delay(50) 



The assembler would find IFGT NARG-2 false, so it would 
replace our macro invocation with the code from the macro 
to save the current contents of a6 on the stack, put Dos_Base 
in a6, replace the CALLLIB macro with jsr __LVODelay(a6), 
and finally, restore the contents of a6 from the stack. Ta-da! 
Here's the code that the assembler would put into our 
source code in place of the macro call: 

MOVE.L A6.-(SP) 

MOVE.L Dos_8ase.A6 

JSR _LVODelay(A6) 

MOVE.L (SP)+,A6 

This is great stuff, isn't it? Don't get carried away with the 
use of macros, though. Remember, the code is generated 
directly in-line, so every time you invoke a macro, you 
expand the size of your code. 



Using macros to generate code in your program is a very 
powerful way to increase your productivity in assembler 
language programming. But there is another, much more 
common use of macros in the Amiga include files that 
generates no code at all! There are macros in the exec/ 
types.i include file that allow you to define and use C-like 
structures. In fact, all the Amiga system structures in the 
include files are defined using these macros. 

The key to understanding this second use of macros is to 
understand the operation of two pseudo-ops, EQU and SET. 

The format for the EQU is: 

<label> EQU <e)<pressIon>. 

It's the equivalent of an assignment statement. A typical 
use of it would be: 

TRUE EQU 1. 

After the assembler encountered this statement, it would 
substitute 1 everywhere it found TRUE. The value of this is 
that it allows you to use meaningful names for things. An 
equate cannot be changed, so if you said 

TRUE EQU -1, 



(continued) 



and you'll be; just fine. When you are calling the assembly 
language as a subroutine from a C program, all this will be 
handled for you by the Aztec linker. In, when your subroutines 
are linked with the C programs. 

The only other problem I've had is that the constant „AbsEx- 
ecBase, which has a value of 4, cannot be used to get the 
address of the base of the exec.library with the statement: 



movea.l 



AbsExecBase.a6 



since the Aztec assembler assumes it is just like any other label 
and assembles it as, 

movea.l 4(a4),a6 ;Say hello to the Gurul 
The simple solution is to use the following. 



movea.l 4,a6 ;GGt a pointer to exec .library 

move.l a6,Exec_Base ;Save the pointer, 

where Exec_Base is defined in the data section as follows: 

: Ex©c_Base ds.l 1 
From then on you can use. 



movea I 



Exec„Bose,a6 to access the exec.library. 



I have to admit that when I first started writing programs in 
assembler for the Amiga, I couldn't figure this out and ended 
up buying the Amiga Assembler. Now I've written thousands 
of lines with both of them and can tell you that the Aztec 
assembler definitely produces smaller faster code. Inciden- 
tally, the Aztec linker. In, works just fine with the Amiga 
Assembler object files, and is much faster than ALink or BLink. 

— Patrick J. Morgan 



.u.t.l I I 'fli I i,"\ I ' ""* 



Amazing Computing V3.4 ©1988 



85 



later in your program, the assembler would know better, 
and would flag this as an e-ror. The SET pseudo-op, 
syntax: 



In the pre-pass, the assembler would replace our definition 
with the following (excluding my own explanatoiy com- 
ments); 



<labe)> sn <expresslon>, 

works almost like the EQU, with one important difference: 
Tlie SET is temporary. If you said 



and later said 



TRUE SET 1. 



TRUE ^T -1, 



the assembler would replace all occurrences of TRUE with 1 
until it got to the second SET, and would replace all 
occurrences of TRUE thereafter with -1 . 

Perhaps the easiest way to understand how this allows 
structure definition is to trace through the equivalent in 
assembler of this C structure definition. 

struct ExompM 

LONG longl; 
UBYTE bytel; 
1; 

I'll list the macros we'll use, and trace out how they work. 
First, we will use the STRUCTURE macro: 



STRUCTURE MACRO 



\1 

SOFFSET 

LONG 

\1 

SOFFSET 

UBYTE 

\1 

SOFFSET 



SET 
SET 




\2 



followed by the LONG macro. 



MACRO 

EQU SOFFSET 

SET SOFfSEl +4 then the UBYTE macro, 

MACRO 

EQU SOFFSEl 

SET SOFFSET+1 



and finally the LABEL macro. 

LABEL MACRO 

\ 1 EQU SOFFSET 



Our structure definition would look like this: 

STRUCTURE Example.O 
LONG longl 
UBYTE bytel 
LABEL exmp^siz© 



I guess I should tell you to never place a macro invocation, 
or any pseudo-op, in column t, or the assembler will think 
it's a label. Always indent at least one space. 



Example 


SET 







SOFFSET 


SET 





SOFFSET = 


longl 


EQU 


SOFFSET 


longl = 


SOFFSET 


SET 


SOFFSET+4 


SOFFSET = 4 


bytel 


EQU 


SOFFSET 


bytel = 4 


SOFFSET 


SET 


SOFFSET+1 


SOFFSET = 5 


exmp_slze 


EQU 


SOFFSET 


6xmp_size = 5 



Do you see the way the variable SOFFSET is used to keep 
track of how far we are from the start of the struirture 
definition? The STRUCTURE macro initializes SOFFSET to 
zero. The other macros in types.i , such as LONG and 
UBYTE, always EQU their arguments to SOFFSET, and then 
add their size to SOFFSET, i.e., LONG adds the length of a 
LONG, 4, to SOFFSET. The LABEL macro is typically used 
to get the final size of a structure. LABEL'S argument is 
equated to SOFFSET, but nothing is added to SOFFSET. In 
our case, the net effect is that longl and bytel are given 
values equal to the number of bytes they are offset from the 
beginning of the structure, and exmp_size is given a value 
equal to the total size of the structure. Note, just as in a C 
structure definition, no memory is allocated by these macros, 
which are used only to define a structure. 

To access the members of the structure you first need to 
create an actual occurrence of it. Here are three ways you 
could do it: 



METHOD 1: 

cnop 0,4 
actual ds.l 1 
ds.b 1 



Assure long word alignment. 
;Set aside space for a long. 
;Set aside space for a byte. 



METHOD 2: 

cnop OA -Assure long word alignment, 
actual 

EQU •+exmp_stze ;Move program counter, (ttie '), 
;past end of structure. 



or dynamically: 



METHOD 3: 

move. I #exmp_slze,dO 

move.l #MEMF_FAST,dl 

CALLLIB _LVOAIIocMem 

move.l dO,actual_ptr 



;G©t size of structure. 
;Ttiese are requirements. 
lAllocate the memory. 
jSave the address. 



with actuaLptr being defined in the data section as. 



actualjDtr ds.l 1 



;Storage for pointer. 



86 Amazing Computing V3A ©1988 



COMPUTER MART 

Your Texas Amiga Source 

Immediate Access to over 400 Amiga Titles. 

Prices too low to print! 

We stock Amiga Software and Peripherals 

For A500, AlOOO, & A2000. 

Mon. thru Fri. 10:00 AM-7:00 PM, Sat. 12:00-5:00 PM 



CALL TOLL FREE 
800-443-8236 



CUSTOMER SERVICE 
409-560-2826 



Computer Mart . 105 Lynn Street . Nacogdoches, TX 75961 



To access the value of bytel, first get the address of the 
structure into an address register either with 

lea actual, oO 

for the first two examples, or with 



movea.l 



actuai_ptr,aO 



for the dynamically allocated structure. Then use a state- 
ment such as the following: 



movs.b 



bytel(aO).clO 



which tells the 68000 chip to move the byte at the address 
obtained by adding the contents of aO to bytel, into register 
dO. In other words, the byte at actual+4 is moved into 
register dO. 

All the libraries have include files defining their structures 
just this way. For example, suppose you have previously 
used the OpenWindow function, and have now moved the 
address of the window structure into aO. To get the address 
of the UserPort where Intuition will be sending you mes- 
sages, look up the name of the appropriate offset in the 
intuition.i file, then write: 



Voila! AO now contains the address of the UserPort. 

In order to program in assembler on the Amiga, it's impera- 
tive that you become familiar vrith the include files. I 
suggest that you print them all out, and keep them handy 
when programming. While you're at it, look at RJ's com- 
ments in the intuition.! include file for lots of good explana- 
tions mixed with wonderfully strange and bizarre humor. (I 
didn't know anyone else commented like that!) 

I hope you've learned enough about macros to take advan- 
tage of the ones in the include files, or perhaps even write 
your own. As you advance as an assembly language 
programmer, you'll find it useful to make your own include 
file with all your own favorite macros. We've only begun to 
touch upon the power of macros; the examples I've shown 
you are all quite simple, and they don't begin to explore the 
possibilities. 

■AC* 



A very good 68000 programming reference is: 

6S0O0 Assembly Language Programming Second Edition, by 
Leventhal, Hawkins, Kane and Cramer, published by 
Osborne McGraw-Hill. 



movea.i 



wd_UserPort(aO),aO 



Amazing Computing V3A ©1988 



87 



by John Steiner 



Bug Bytes 

The Bugs 8c Upgrades Column 



The Epson LQ-800 has been an 
excellent printer choice for /^miga 
owners, due to its high-quality output. 
Because the standard Preferences 
driver for Epson printers is not correct 
for Epson's 24 pin printers, someone 
wrote an LQ-800 driver and posted it 
to all the major information services. 
Epson's 24 pin printer was recently 
replaced by the less expensive LQ-500. 

When first connected, graphics printed 
on the Epson LC2-500 using :he Epson 
LQ-800 driver will produce .garbage 
output. Most people's first ::hought is 
that the printer driver is not appropri- 
ate for the new printer. TTiere is no 
need for a new driver, however. 
Careful study of the printer manual 
will reveal that DIP switch 2-6 must be 
on for the printer to accept the ESC 
code for unidirectional graphics. 
When the LQ-800 driver initializes the 
printer, it sends an ESC code to set the 
mode for graphics to uni-directional. 
If DIP switch 2-6 is off, graphics 
printing will not work. The LQ-500 
comes with DIP switch 2-6 :.n the off 
position. Placing DIP switch 2-6 in the 
on position fixes the problem. 

Get Outta My Face is an unusual 
name for a program, so they shortened 
it to COMF. GOMF is a utility that 
causes your Amiga to avoid the Guru. 
GOMF constantly monitors the system 
operation, trapping both system reset 
and task held guru messages. Origi- 
nally shareware, GOMF 2.0 has now 
been released as a commcrcicil offering. 
Several improvements to the original 
version have been made, and a 



program called Nuke is included in 
the package. Nuke allows you to 
remove an errant task from the 
system, and reclaim the memory and 
other allocations previously assigned 
to that task. If you have ever had a 
CLI window lock up and had to set it 
aside, knowing it was holding several 
hundred K of RAM hostage, you can 
see how useful Nuke can be. 

Registered users of the original GOMF 
may upgrade to the latest version for 
the difference in price between their 
shareware contribution and the com- 
mercial price of S39.95 (U.S.) + $4 
shipping + S3 U.S. Handling Fee. 

GOMF 2,0 

Marketed by; HyperTek/ Silicon Springs 

#205 2571 Shaughnessy St. 

Fort Coquitiam, BC Canada V3K 3P5 

(604) 942-4577 

TDI Software has an upgrade available 
for Modula 2. Version 3.01a contains 
several bug fixes to the editor and 
compiler. It is a no-charge upgrade. 
Registered users will be notified. If 
you have changed addresses, or have 
not registered yours, notify them. 

You can also send two blank disks 
and your registration number, and 
they will copy the files for you and 
return your disks. Their address is: 

TDI Software Inc. 

Mike Valentine 

Amiga Upgrade 

104W Markison Rd. 

Dallas, TX 75238 



Put in a note with your registration 
number, saying you have 3.00a and 
want the latest upgrade. 

The latest version of Viza Write is 1.06, 
from Progressive Peripherals and 
Software. Changes were made to fix 
bugs, and some minor enhancements 
have been included. The major change 
to the program involves the startup 
configuration file. Virtually anything 
that can be changed in the program 
can be set to a default value in the 
configuration file. Thus, you can 
customize the way VizaWrile starts up, 
so your documents will always be 
precisely formatted without making 
changes. Registered users do not have 
to do anything to receive the 
Viza Write upgrade. 

Progressive Peripherals and Software 
has also made available another no- 
charge upgrade to CLlMate. The 
program reads and displays directories 
and files. The program creates a file 
called -fastdir, which it uses to help 
spiced display of a disk or directory. 
The .fastdir file is stored in the dis- 
played directory. On hard disk 
systems, the .fastdir file created by 
CLIMate clutters up the directory trees 
and is not easily removable. TTie latest 
version of CLIMate includes an option 
to avoid writing the .fastdir file. 
Additionally, a program is included 
that will search and remove .fastdir 
files from a hard disk, reclaiming 
valuable disk real estate. To receive 
the upgrade, simply ship your original 



Amazing Computing V3 A ©1988 



CLIMate disk to them, and they will 
copy and return the new version to 
you at no charge. Send your disk to: 

Progressive Peripherals and Software 

(altn: Mark) 

464 Kalamath Street 

Denver, CO S0204 

(303} 825^144 

For about a month, I have been using 
Professional Page, Gold Disk's Desktop 
Publishing Masterpiece. The program, 
well over a year in the making, was 
worth the wait. I publish two news- 
letters a month, and a plethora of 
other materials. Pro Page has turned 
my Amiga into a truly professional 
desktop publishing system. 

Still, version 1.0 has a couple of bugs. 
On rare occasions, a postscript print 
will draw a diagonal line from the 
upper right corner of the page, down 
and to the left. The line seems to be 
of random length and thickness. It 
doesn't happen often enough for us to 
nail down the problem, so if you are 
having the same problem, let me know 
the details. Maybe we can determine 
imder what conditions the problem 
occurs. 

There are eighteen Postscript fonts 
included with the package. One 
notable exception is Zapf Dingbats, a 
font made up of many useful (and not 
so useful) symbols, Arno Krautter of 
Gold Disk reports that in the rush to 
release Pro Page, they accidentally lost 
the ".metric" file for it. 

One of the major disappointments to 
prospective Professional Page users is 
that there is no dot matrix printer 
support. Pro Page outputs only to a 
Postscript printer. Gold Disk is 
working on an upgrade to Professional 
Page (version 1.1), and by the time 
you read this, it should be ready. The 
Zapf Dingbat font and Dot matrix 
support, as well as Color Separation 
capabilities, wiU be in VI .1 of Profes- 
sional Page. The color separation 
module was originally expected to cost 



extra, but Gold Disk has decided to 
include the module in the main 
package. This will be available as a 
FREE upgrade to current Pro Page 
owners. 

Incidentally, if you have a desktop 
publishing package that writes Post- 
script disk files and you would like 
typeset or laser printed pages, but 
none of the printing services in your 
area will read Amiga disks, don't go 
buying a Macintosh. You can send 
your disks for printing, at reasonable 
rates, to a company I am affiliated 
with; Computer Associates Box 683 
West Fargo, ND 58078 (701) 280-0915. 
If the Postscript file is small, you may 
upload it for printing to their BBS at 
(701) 280-9463, Remember, a 200K 
Postscript file will do nasty things to 
your telephone bill at 1200 baud. 

The Amiga 2000 and Digi-View do not 
always get along well together. New- 
Tek sells a small circuit that mates the 
Digi-View unit with the 2000. If you 
recall, the AlOOO has a printer port 
that is just the opposite gender of the 
A2000. In addition, the port wiring is 
different and a straight-through gender 
changer won't always work with Digi- 
View. Even the NewTek Gender 
Changer evidently doesn't always 
work. Instead, the software responds 
with "NO VIDEO SIGNAL PRESENT." 
There appears to be a problem with 
the 8520 CIA chip (it controls the 
parallel port, among other things); a 
lot of them seem to be marginally 
adequate, and apparently Digi-View is 
sensitive and requires exact voltages 
and power requirements. NewTek has 
commented that, with few exceptions, 
when they got a call about Digi-View 
not working on the 2000, the person's 
printer would work. Replacing the 
8520 CIA chip in your 2000 may cure 
the problem, but even then there's no 
guarantee you won't replace it with 
one that's marginal or worse than the 
original chip. If you have found a 
solution to this problem, pass along 
the information, I will publish it here. 



There have been complaints that the 
Okimate 20 printer will not work with 
the A2000. It seems the Workbench 
1.2 V33.61/ 33.59 will not work with 
the Okimate 20. Until a better 
solution comes along, you can use the 
Enhancer v33.47/33.44. That Work- 
bench and Okimate printer driver 
combination works fine. 

While on the topic of Amiga operating 
system problems, there is a report of a 
problem with AREAD and AWRITE 
on the A2000, when using a Jlinked 
Wrtual drive. Use of either program 
will corrupt some of the files on the 
Jlinked drive. To work around this 
bug, simply use an intermediary file 
on the Amiga side, if the source or 
final destination is in a Jlinked drive. 

Not to be left out, the AlOOO Sidecar 
also has a problem with AREAD and 
AWRITE. A note from a Mr. K. 
Davidson included the following 
workaround. Mr. Davidson found that 
AREAD and AWRITE didn't work 
after installing a hard disk in the 
Sidecar. After the DJMOUNT com- 
mand was entered to add the hard 
disk to the Amiga, AREAD/AWRITE 
no longer worked. The problem 
seems to be one of timing. In your 
hard disk startup sequence, enter the 
BlNDDEilVERS command and use the 
WAFT command, allowing enough 
time for the sidecar to boot. When the 
disk has finished booting the sidecar, 
enter the DJMOUNT command. Click 
the PCdisk icon on workbench, then 
click the PCmono or PCcoIor icons — 
ARead and AWrite will work. 

TTiere is a new hard disk driver 
program for the A2000. If you have 
problems with read errors on a hard 
disk when the A2000 is in the over- 
scan mode, you will need the new 
driver. It has been posted to every 
major communications link, or you 
may get it from your local dealer. It is 
a no-charge upgrade. You won't need 
to reformat your hard disk or any- 
thing, just copy the new driver 
program to your expansion drawer. 

•AC- 



Amazing Computing V3.4 ©1988 



89 



W'wno»«y"*v"' ■»■■ 




\Vve 



^p- Picture 



by Warren Ring 



The Unified Field Theory Continued! 



Last month we started a series of articles on interfacing 
between a number of assembler functions, a collection 
known as a tool box, with unified fields. This article is the 
second in a three-part series describing these functions. The 
source included here covers disk I/O, console I/O, line- 
scanning of text for individual words, string manipulation. 
Integer/ ASCn conversion, and text display. 

This month, we'll reveal the source code and examples of a 
full set of disk I/O routines, string copy, string compare, 
and string extraction (your BASIC LEFTSO, RIGHTSO, and 
MIDSO functions). When this series concludes next month, 
we will have completed our first toolbox. The text shown in 
the MACROS.ASM and WARLIB.ASM files should be 
appended to the text for the files shown in last month's 
column. (You can also obtain a copy by modem. See end 
of article.) 

The functions we'U cover tliis month can best be illustrated 
by two example test progTcims. 



Example One: Text Manipulation 

Listing 1 is an example of how you can extract text from the 
left end, middle, or right end of a string as easily as you can 
in BASIC. Type in the example listing, assemble and link it 
as "testl." Then execute it by entering the program name, 
"testl," followed by a text string no longer than sixteen 
characters, and two integers, which we'll call "m" and "n." 
Testl displays the left-most "m" characters, the "n" charac- 
ters starting from position "m," and the right-most "n" 
characters, just as they are used in BASIC. Listing 2 shows 
some sample runs. Note in the examples how the package 
gracefully handles invalid data, such as the negative num- 
bers and the excessively long input string. 



Example Two; Diek I/O 

Listing 3 is an example of all disk I/O functions: how to 
Create, Open, Read, Write, iieek. Close, Rename, and EJelete 
files. In our example, "test!," we define a file structure as a 
group of records, each contcining sixteen bytes. Each record 
contains an English word or phrase padded with spaces on 
the right end to make it sixteen characters long. You may 
open, create, rename, or delete a file. Once you open a file. 



you may read and write records, seek a new position to 
make the next read or write, or close the file. \'ou may also 
display or modify the text in the record in RAM. Listing 4 
shows a sample run. Note that you can display both the 
hex and ASCII values of the bytes in the file we create by 
entering: 

l>type texts opt h j 

Now for some background on how the AmigaDOS disk I/O 
calls work. AmigaDOS correctly assumes that most files 
read or written are "sequential" files, meaning you either 
read an existing file from beginning to end, or you create a 
file and write sequentially imtil you close it. Each file has a 
position marker, or cursor associated with it, indicating 
where in the file (how many bytes into the file) the next 
read or write takes place. Each time you read or write in a 
file, AmigaDOS automatically moves this cursor to the end 
of the record you just read or wrote, making the assumption 
that you wish to read or write the following record. If you 
wish read or write in another place in the file, you must use 
the Seek command to change the cursor position. 

The figure AmigaDOS accepts can be relative to the begin- 
ning of the file, current position, or end of file. Tn this 
toolbox, we make all cursor positioning arguments relative 
to the beginning of the file. Listing 4 shows a sample run. 

For those of you who just joined us this month, this package 
uses a structure called a "string buffer" to hold our text 
record. A string buffer consists of a long integer, indicating 
the size of a data area in bytes, followed by a long integer 
indicating the current usage of that data area in bytes, 
followed by that data area. 

String buffers are used as disk I/O buffers, as well as text 
buffers. When we write to disk, the current usage of the 
string buffer is the number of bytes to be written to disk. 
Conversely, when we read from disk, the maximum length 
of the string buffer is the number of bytes we wish to read 
from disk. The read routine sets the current usage of the 
string buffer to the actual number of bytes read from disk. 
Accordingly, AmigaDOS tries to fill the string buifer, and 
the string buffer's current usage is set to the correct value. 



90 



Amazing Computing V3.4 ©1988 



String buffers unify the interfaces to all functions in this 
toolbox, and simplify many of the coding operations that 
assembler programmers find difficult. 



A Common Error 

During the development of this package, I noticed that an 
unusually high percentage of Guru visitations are caused by 
one specific error: using a Long word move when moving a 
byte. Three statements after CreateFile2 in the library file, 
the following statement appears: 

MOVE.B #0,(A2) 

If "L," instead of "B," is inadvertently specified here, as is 
normal in other parts of the routine, and A2 happens to 
point to an odd address, you will get a visit from the Guru! 
About 50% of the Gurus 1 received were traced to this error. 



Parting Worde 

If you missed last month's column, or would rather get a 
copy of these files electronically, they should be available 
under the name ASMTOOLl.ARC on PeopleLink. This 
archive file should also be on the two BBS systems I 
regularly visit— the Los Angeles Amiga User's Group BBS 
(LAAUG Line) at (213) 559-7367, and the "1939" BBS at (818) 
368-4248. If you have questions or comments, you may 
contact me at either of the boards or through this magazine. 



Listing One 

Text Manipulation Exercise (lestl)i 



section 


code 




Include 


"macros, asm" 


Start 




.•Perform startup 
r housekeeping 


Scanw 


twordl 


;Set AS, m, and n. 


Scanw 


tMord2 


; to the first three words 


Wol 


•HordZ.I 


; found on the conmaRd 


Sunw 


tWotd3 


,- line, respectively 


Atol 


tWorda.J 




Display 


< 'Lefts (" 


>> .-Display -LeftslAS.m)-" 


Mrltcon 


tHordl 




Display 


<*",'> 




Mrltcon 


#Mord2 




Display 


<•)-"> 




Loft 


♦Mordl,!, 


tHord4; Calculate B$, and 


Mrltcon 


(Mord4 


: display It 


Display 


<>-■> 




Crlf 






Display 


<'HidS(- 


> .-Display -MidStAS.m.n)-- 


KrltCon 


♦Hordl 




Display 


<■-,'> 




Mrltcon 


♦WordJ 




Displty 


<*,' > 




Mrltcon 


tWord3 




Display 


<'!--'> 




Hid 


♦Mordl,:, 


J,tMord4;Calculate B$, 


WritCon 


tHord4 


,- and display it 


Display 


<'-'> 




Crlf 






Display 


< 'Rights ( 


-«>.-Dl»pl«y -]U,gtlt$|A$,m)-* 


Mrltcon 


tWordl 




Display 


<>-,'> 




WritCon 


«Word2 





We have those 

FUNNY CONNECTORS 

for the bock of the Amiga™ ! 



The ones foe Itie DBK CABLE (DB23P) 

The ones for ft^ RGB MONITCf! CASLE CDB23S) 

The ones for ftie IW?AUi£L ffWJTH^ CAELE (DKSS) 

CENTRONICS MAJJE/fEMALE 

The cnes for (he SS3AL (MCOS^ CAEf (DB2SP) 

CONNECTOR COJBS and 9-fil5 

\Afe dso have tie 34 RN B>3E CCM-eaOi 
for frose making Ite 5 - Roppv Disk Interfcce 

PGOdy to Use 
2 DOVE CABIE w/ PCWB} SUPPC 

Ccfcles for PfiTJTHS end MOMTORS 
6(t. T3T1 SonyRGaCcfcte 



TOOO Porolel 

500/2C10QSenal 

2 Pa AB - M S35.00 

3PosAflC-M S45.00 



TOOO Serbl 

2000/500 Padlel 

AB-S 

AflC-S 



Shoe your dsk iwoucei, (2000 Owneu w/Bridge card.) 
Usethii switch boxcompwew/coblestoswllchyou/eittemal 
floppy betwean Amiga & IBM ports. 



S3.00 
33,00 
S3.00 

S3,00 
ST. 75 



$59.00 

ST 3.00 
S18.00 



S30.00 
S35.00 



W9.00 



MAIL ORDERS pleat© hdude SZOO Postage & HciK*ig 
PHOKE ORDERS C918) - 336 - T7M (COD only) 

BCD I Jim Black 

FO. Box #1224 Bmlesville, OK 74005 





Display 

Right 

Mrltcon 

Display 

Crlf 


♦Mordl, I, IWordl; calculate BS, 
»Mord4 ; and display it 




Exit 


;?erform ending house 
J keeping, and exit 




include 


-warllb.asra" 




section 


data 




StrBuf 
StrBuf 
Strauf 
StcBuf 
StrBuf 


Buffer, 80 

Wordl,lS 

Word2,16 

Word3,lS 

Kord1,16 


I 
J 


OS. 
DS. 


L 1 
I. 1 



Listing Two 

Sample Text Manipulation Run ' 



l>testl 


abcde 


2 3 


Leftsr 


ibcde' 


2l--ab- 


MldSrabcde",2,3(-"bcd 


Rights ( 


"abcde 


■.2|-"dB- 


l>teatl 


abcde 


-1 5 


Lefts ("abcde- 


-II-" 


MidS("abcde', 


-1.5)--" 


Rights ( 


■abcde-, -1)-" 


litest) 


abcde 


S -1 


Lefts |-abcdo- 


5)--abcd( 


HldS (-abcda-, 3, -1) -" 



(conlinueii) 



Amazing Computing V3.4 ©1988 



91 



Mit^kxitg at tljE Ariicnnca 

(Made for the AmjgaTM ww II battfe simulator) 
Early in December 1944 America was waiting ttie return of 
Its victorious armies in Europe. But on the other side of the 
Seigfried Line, Hitler had other plans, launching his last ma- 
jor surprise attack of the v/ar, and introducing the new 
80-ton Tiger tank. You are in command of either the Allied or 
the German forces. The die is cast. Make your command 
decision. This is the game that had to wait for the Amiga'^^ 



FEATURES: 



• Easy to understand ailes 

and concepts 
' Detailed full-color 

graphics 
' Realistic sound effects 

One or two players 

Seigfried Line 

ArtlllBry 

Supply 

Terrain effects 



' V-2 Rocket attacks 

' German saboteurs 

' Paratroopers 

' Play customization 

' Save Game function 

' Handicapping system for 

play balance 

Weather 

Fuel Dumps 

Aerial bombardment 



Building 3, 297 North Street 

Hyannis, Mass. 02601 

(617)790-1994 

Requires 512 K Amiga™ or Amiga 500™ 



«52 



95 



plus $3.00 

post. & hand. 

visa & MasterCard 

Check, Money Order 

or C.O.D. 

Mass. Res. B% tax 



!lii!hCS("abcdB-,5|--abcde- 

l>te>tl abcde 6 3 

LeIt5l"abcdB-,6|--abcde- 

HldSI-abeae-,6,3)--'- 

RlqhtS I "abcde*, 6) -"abcde" 

l>t<!stl abcde 1 2 

Lertscabcde-, l)--a- 

MidS(-abcde-,l,2)--ab- 

RlqhtS ("abcde", l)--e" 

l>t.e3tl abcdefghljfellrmopqrstuvfwxyz 100 lOD 

Lof t S ( "abcdefqhi ] ttlfflnop" , qrstuvwxyz ) -" " 

MldS ("abcdBf ghi j JtLmnop" , qrst uvwjtyz, 1 00 ) -"" 

Bights ("abcdefghljttljanop-^qrstjvwxyz]-"" 

1> 



lisling Three 
Disk HO Exercise . 



section 

include 

start 

Display 
Display 
FieadCon 



macros. asm 

jFecCom atarling hoiltekeeping 

c^OJpen, C)reate, filename, D)elete,'> 

C Elldt; -> 

fSelection 





SlrCmp 


*Selection,ta,-If the re 


sponse i« not 




BNE 


X2 ,- "0-, ther. Jump to X2 




Display 


< -Which file? '> 






ReadCon 


♦ FilEiiamel 






Open 


♦Filenaraet.Filol 




BEQ 


XIA ;If there iras an error, 
J then jump to XIA 




Display 


<'The file is open'.U;- 




BRA 


XIO ;J«iip to xr.o 


XIA 






Display 


<^There la no such tiUi' tlF> 




BRA 


XI .-Juinp to x:.o 


92 


Armzing Computing V3.4 ©1988 



StrCmp #Salectlon,tC:If the response la not 
^^ ^3 J -c*, then jianp to X3 

Display <'which file? >> 

ReadCon #Filenan!el 

Create ♦Fllenamel,Fil»J 

BEQ X2A : it there was an error, 

; then jump to X2A 
Display <'ThB file Is open' , LF> 
aSA XIO .-Jurap to XID 

A 
Display <^1 cannot create lt',LF> 
^*^ XI ; Jusip to XI 



Strcmp tSBleetIon,#R:If the response is not 
^"^ "' .- "R*, then Jump to X4 

Display c'Whieh file? >> 

HeadCon JFiienamel 

Display <'Neii filename? >> 

ReadCon tFilenarae2 

Rename *Filenamel.lFilenaiiiB2 

BEO X3A ;if there was an error, 

; then Jump to X3A 
Dijplay -CThe file is renamed', LF> 
BRA XL iJusip to XI 

A 
Display <:'I cannot rename it',LF> 
BRA XI J Jump to XI 



StrCmp »Selection,»D;It the response wai not 
B™ fS .- -D", then Jistp to X5 

Display < 'Which file? •> 

ReadCon IFilensmel 

Delete IrllenamBl 

BEQ X4A ;lf there was an error, 

; than jump to X<A 
Display <'The file is deleted', LF> 
BRA XI .-Jump to XI 

A 
Display <'I cannot delete lt',LF> 
BRA XI .•Jump to XI 



StrCmp #Selection,#E;It the response was not 
B™ X6 ! -E", then jump to X6 

Display <'E)tlting. .." ,10> 

BRA X99 ;Jujip to X99 

: (Other selections nay go here) 
BRA XI .-JUTTip to XI 



Display <>CH09B, Blead, WJrlte, D) IsplayRec, ' i 

Display < HlodilyRec, SJeek: >> 

ReadCon ♦Selection 

StrCmp ♦Selection, *C;lt the response was not 

BilE Xll ; -c", then jump to Xll 



Close 
BRA 



Fllel 
XL 



; Jujrp to XI 



StrLen ♦Recordl 
BNB XIO 



StrCmp ISelection, tR;It the response was not 
BtrE X12 ,- -B", then jump to X12 

Read Fllel, ♦ftecordl 

ADDQ.L ♦l,BecNural .-Increment the displayed 
.' record number 
,'ir the record has a non- 
.- zero length, then juj^ 
: to XIO 

Diiplay <*Unwrltton record', U> 

BRA XIO .-Jump to XIO 



StrDnp ISelection, ♦*?: If the response was not 
BNE X13 ; "tr, then jump to X13 

ADDQ.L fl,RecNumI ; Increment the displayed 
; record nocber 

Write Fllel, tKecordl 

BGT XIO ;ir there was no error, 
; then jump to XIO 

Display <*Error',Lr> 

BRA XIO .-Jump to XIO 



StrCmp ♦Selection, fD: If the response was not 
BNE X14 ; '0', then jump to Xl4 



Display c^Record ^> 

ItoA ReclIUJr[il,#S election 

WritCon fSeiection ;Di3play the record nuniber 

Display <*, the word is " ^> 

WritCon ♦Hecordl 

Display <:*"\LF> 

B^A XlO .'Jump to XIO 



StrCmp 
BNE 



*Selectlon,IM;If the tesponsQ was not 
XI 5 ; "M", Then jump to XI 4 



Display <'Enter a new word: *> 

Re^dCon Iwcird 

StrCpy #Spacos, #Recordl ,-Pad the word with 

StrCpy #Word,#RBcordl; spaces to maJie it le 

MOVE.L #16, DO ; Chars long 

KOVE.L D0,Recordl+4 

BRA XIQ ;Juinp to XIO 



StrOnp 
SHE 



♦Selection, »S; If the response was not 
X16 ,- "S", then jump to X16 



Display <'Enter the record number; *> 

ReadCon ^Selection 

Ato I ISelection^ ReclJuml 

HC'VE,L RecNuml^DO .-Multiply the record 

LSL-L #4,00 ; number by 16 to get the 

MOVE.L D0,FilelOffset; byte offset 

Seejc FileUFilelOffset 

BRA XIO ;Juinp to XIO 



BHA XIO 






[other aelectlons 
.■Jump to XIO 


may go 


here) 


Exit 








■Perfona 


endinq 
f and 


house- 
exit 




include "warllb.asnv" 










section data 














String 
String 
String 
String 


D, 
E, 
M, 


'C 

'D' 
'E' 
'M' 












string 
String 
String 
String 


O, 
S, 


»0' 
'R' 
'S' 

'w 













String Spaces, c' 

StrBuf Filenamel, 16 

StrBuf Filenamea, 16 

StrBuf Word, 16 

StrBuf Recordl,ie 

StrBuf Selection, 16 



FilBl 

RecKuml 
FilelOffset 

end 



DC.L 
DC.L 



Listing Four 

Sample Disk I/O Run '' 



l>test2 
0]pen, Clreate, R) cname 
Which tile? text2 
There is no such file 
0)pen, c Ire ate, R) ename 
Which file? text3 
The file is open 
Olose, Rlead, WIrite, 
Record 0, the word Is ' 
CUoae, Rlead, WIrite, 
Enter a new word: Line 
Clloso, Rlead, WIrite, 
Record 0, the word Is ' 
Cllose, Rlead, Wlrite, 
Cllose, Rlead, WIrite, 
Enter a new word: Line 
Cllose, Rlead, WIrite, 
Record 1, the word is " 
Cllose, Rlead, WIrite, 
Cllose, R)ead, H)Eite, 



, Dlelete, E)xlt; O 



, Dlelete, EJxlt: C 



Dl IsplayRec, 

Dl IsplayRec, 

1 

DlisplayBoc, 

Line 1 

D| isplayRec, 

D)isplayRec, 

2 

D) isplayRec, 

Line 2 

D) IsplayRec, 

D) IsplayRec, 



HlocJltyRec, Sleek: D 

MIodlfyRec, Sleek: H 

MIodlfyRec, Sleek: D 

HlodlfyRec, Sleek: W 
MlodlfyHec, Sleek: M 

Hlodifyaee, Sleek: D 

KlodifyRec, Sleek: w 
HlodityRBC, Sleek: S 



INTRODUCING. 




An 

Evolution 
in Disk 
Utilities 

for Amiga™ 
Personal 

Computers! 



F 

E 
A 
T 
U 
R 
I 

N 
G 



• An eaiy to use, friendly and imuilive user interface. 

• A powerful and fast disk backup tool that lets you make backups of 
your copy-protected Amiga software. 

• A disk editing tool tliai lets you edit raw MFM tracks. AmigaDOS 
seeiors and AmigaDOS files (auiomalicaily calculating new 
checksums). 

• A disk cataloging tool thai lets you maintain Usts of your personal, 
public domain and commercial software, 

• A unique backup tool for duplicating other disk formau including 
MS- DCS; PC-DOS and Atari ST. 

• An easy to read, informative user manual is included. 

• This product is not copy-protected in any way. 



NOW SHIPPING! 

$49.95 „ 

Includes shipping and handling! 
Arizona residents add 6.5'.7 sales lax. 



TO ORDER 

Send check or money order to: 

Fuller Computer Systems, Inc. 

P.O. Box 9222 

Mesa, Arizona 85204-O4J0 

Or CALL (602)835-501 8 



Amiga is a trademark of Commodore-Amiga, Inc. 



Dealer [nquiries Inviied 



Enter the rcecord number: 

Cllose, Rlead, HIrlte, D| IsplayRec, M)odlfyRec, Sleek: 

Cllose, Rlead, WIrite, Dl IsplayRec, MlodlfyBee, SJeek: 

Record 1, the word Is "Line 1 

Cllose, Rlead, WIrite, D) IsplayRec, HlodlfyRec, Sleek: 

Cllose, Rlead, WIrite, DIlsplayRec, HlodlfyRec, Sleeks 

Record 2, the word Is "Line 2 * 

Cllose, Rlead, WIrite, DIlsplayRec, HlodlfyRec, Sleek: 

Unwritten Record 

Cllose, Rlead, WIrite, DlisplayRec, HlodlfyRec, Sleek: 

Record 3, the word is "" 

Cllose, Rlead, WIrite, DlisplayRec, HlodlfyRec, Sleek: 

Qlpen, Clreate, Rlenaroe, Dlelete, Elxit: E 

Exiting. . . 

1> type text3 opt h 

0000: 4C696E65 20312020 20202020 20202020 Line 1 

0010: 4C696£e5 20322020 20202020 20202020 Line 2 

1> 



Listing Five 
The Macro File 



macros. asm 



(The following external declarations and equate should be 
appended to the list of external declarations shown for this file 
in last month's column) 



XR£F 


LVDRenarae 


XREF 


LVDDeleteFll 


XREF 


_LVOSeBk 


IFND 


LF 


LF EQU 


10 


ENDC 





(continued) 



Amazing Computing V3A ©1988 



93 



INTERCHANGE 



Share objects between Sculpt3D, VideoScape 3D 

& Forms in Flight 
NOW YOU CAN... 

- Use Sculpt 3D to ray-trace VideoScape 3D objects 

- Do Forms in Flight animations on Sculpt 3D objects 

- Create VideoScape 3D objects using the Sculpt 3D 
interface 

Full Tnhiition interface fo r nil TnterChnnpe functions 



Object Disk #1 now available. Includes a Sculpt 3D fonl, plus lots more 
Sculpl 3D and VideoScape 3D objeclsl 

Interchange inasier program plus Sculpt 3D and VideoScape 3D 
Conversion Modules. S49.95. Fonns in Flight add-on Conversion 
Module. S 19.95. IntetOiange Object Disk # 1, S19.95. 

llils product requires objects from Sculpt 3D and/or VideoScape 3D 
md/oT Forms in Flight. It is not a standalone animation program. 

To order, send check or money order. Please include S3.00 postage & 
handling. MA and Wl residents add 5% sales lax. Interchange is a 
trademark of Syndesis. Sculpt 3D, VideoScape 3D and Forms in Flight 
arc trademarks of Byte by Byte Corporalion, Aegis Development and 
Micro Magic icspeaively. ^ ^ ^ 

• • • • • 

• • SYNDESIS • 

• 20 WEST STREET 

WILMINGTON, MASSACHUSETTS 01887 
617-657-5585 



St rCpy 



StrCrcp 



(The following macro definitions should be appended to the 
list of macio definitions shown for this file in last month's 
column) 



;SB - th« location or i •trlnq l«££er 

Open MACRO 

HOVEM.L AD-Ai,-|A1) 

MOVE.L \1,A0 ,-\l -> SB containing 

MOSfE.L *\2,A1 .- the filenarie 

JSR OpenFile 

HOVEH.L |A7)+,AD-A1 

ENDM 

create MACRO 

HOVEM.L A0-A1,-(A7) 

HOVE.L \l,AO ;\1 -> S3 containing 

MCVE.L #\2,A1 ; the filename 

JSR CreateFile ;\2 -> the file 

HOVZK.L (A7)+,A0-A1 ; handle 

EHBM 



MACRO 






HOVEM.L 


A0-A1,-(A7) 




HOVE.L 


\1,A0 :\l -> the 


file handle 


(ttWE.L 


\2,A1 :\i -> 58 to receive 


JSR 


BeaUFUe; the disk 


record 


MQVEH.L 


(A7)+,A0-A1 




E!(DM 






MACRO 






HOVEM.L 


A0/De)-Dl,-(A7t 




MOVE.L 


\1,A0 ;\1 -> the 


file handle 


MOVE.L 


\2,D0 .■\2 -> the 


position to 


MDVE.L 


t-l,Dl ; which to 


seek 


JSR 


SeeiiFile 




MOVEM.L 


!A7|+,A0/D0-D1 




ENDH 







RliJhC 



string 



HOVe.1 . L AO , - I A7 ) 

MOVE.L \1,A0 ;\1 -> the file handle 

JSR CloseFlle 

MOVEM.L lAD+.AO 

ENDH 

MACRO 

KOVEM.L AI)-A1,-(A7( 

HOVE.L \1,A0 :\1 -> SB containing 

MOVE.L \2.A1 ; the current filename 

JSR RenameFile ; \2 -> SB containing 

MOVEK.L (A7)+,A0-A1; Che ncv fili!na.ie 

EHDH 

MACRO 

MOVtH.t, A0.-(A11 

MOVE.L \1,A0 ;\1 -> SB containing 
JSR DeleteFile; Che filename 
MOVEM.L CA7)+,A0 
ENDH 



MACRO 

HOVEM.L BO/AD-Al,- 

MOVfi.L Conln^AO 
\1,A1 
Readme 



MOVE.L 

JSR 

MOVE.L 

ASDQ.L 

SUBI.L 



lATl 

;\1 -> SB concaininq 
; text to gend to the 
console 



\1,A1 ; (Lop oft the terminating 

♦4,A1 s LineFeed) 

• 1, (AD 
MOVEM.L (A7)+,D0/A0-A1 
ENDH 

MACRO .-M -> SB to copy 

HOVEM.L A0/Al,'(A7);\Z -> SB to copy to 

MDVEA.L \1,A0 

HOVEA.L \2,At 

JSR StrCpy_ 

MOVEM.L (A7)*,A0/A1 

ENDH 



MACRO 

MOVEM.L AOrtl, 

HOVEA.L \I,AO 

MOVEA.L \2,A1 

JSR scrcrap_ 

MOVEH.I, (A7) + ,A0/A1 

vnau 



;\1 -> SB to compare 
(A7)j\2 -> SB to compare 



\1 -> SB to examine 



MACRO 
MOVEM.l. A0/A1,-(A7) 
HOVEA.L \1,A0 
JSR strLen^ 

HOVEM.L (A7) tjAO/Al 
ENDH 

MACRO :\1 -> SB containing the 

MOVE.H.L AO/A1/DO,-(A7(. source string 

MOVEA.L \1.A0 ; V2 - nunber of bytes to 

HOVE.L \Z,DO ; copy 

HOVEA.L \3,Al ;\3 -> SD containing the 

JSR Letc_ ; deitlnatlcn string 

HOVEM.L (A7|+,A0/A1/D0 
ENDH 

MACRO .-\1 -> SB containing the 
H3VEH.L A0/A1/D0/D1,-IA7) .-source string 
MOVEA.L \1,A0 :\2 - point at which to 
; start copying 
; \3 - nui^er of bytes to 
; copy 

:\4 -> 5B cflncainlng the 
; destination string 
HOVEM.L (A7|+,A0/A1/D0/D1 
ENDH 

MACRO :\\ -> SB containing the 
MOVEM.L. AO/Al /DO, - (A7) .* source string 
MOVEA.L M.AO :\2 - number of bytes to 
HOVE.L \2,D0 ; copy 

HOVEA.L \3,A1 .-\3 -> SB containing the 
JSR Right_; destination string 

MOVEM.L IA7) t,A0/Al/O0 
ENDM 



MOVE.L \2,D0 
MOVE.L \3,D1 
MDVEA.L \4,A1 
JSR Mid 



MACRO 



.■\1 



a string buffer label 





CNOP 


0,2 :\2 - the String 


\1 






StringV! 


DC.L 


string 2\(-String 1\B 




DC.L 


String 2\I-String l\e 


String \\t 


BC.B 


\2 


String 2\S 








CHOP 


0,2 




ENDM 





54 



Amazing Computing V3.4 ©1988 



HARD DRIVES 

PIONEER has Xhe storage solution for your personal computer, business 
system or graphics workstation. Your requiremenis are met by our product 
family. From the 20-megabyte through the high performance 150-megabyte 
drives, PIONEER spans the storage spectrum to offer the right capacity, 
performance and price to suit your system needs. 

AH PIONEER hard drive have an embedded SCSI controller build-in. This 
makes you compatible with other SCSI systems on the market (no interfaces 
needed between the computer host controller and your hard drive). 

SCSI HOST CONTROLLER 

The SCSI host/controller has been designed with growth and expansion in 
mind. The hardware and software provided with your SCSI hosl^conlroUer will 
allow you to connect, sel-up and access information from any SCSI device. 
The SCSI host/controller allows AmigaDOS to deal with your hard drive at a 
system level using the same commands that you are now using with the 
standard Amiga 3.5" floppy drive. 

The SCSI host/controUer wUl provide you with the fastest, most reliable and 
fully featured hard drive system available for the AMIGA 500, 1000 and 2000. 
The SCSI host/controUer comes complete with a expansion bus pass-thni, 18 
inch cable, 50-pin SCSI bus and Apple/Mac Pseudo SCSI 25-pin connectors. 

HARD DRIVE CASE 

Full-heighl case comes complete with a 45 watt fan cooled power supply, 
swiichable 110/220 AC voUage (50/60 Hz), room for one full-height or two 
half-height drives, power-on lED, half-height cover plate and power cord. 
Dimensions: 7" wide, 5" high and 15.5" deep. 

Half-height case comes complete with a 45 watt fan cooled power supply, 
switchable 110/220 AC voltage (50/60 Hz), room for one half-height drive or 
tape back-up, convenient cany handle and power cord. 
Dimensions: 6" wide, 3.25" high and 15.5" deep. 



OUR GUARANTEE TO YOU: 

All our products arc 1009& guaranteed. We will replace, exchange or refund* 

any purchase to your sadsfacdon. 

• Refimd must be made within 15 days of receipt of producL 



Hard Drive comes complete with drive, SCSI 

host/controller, your choice of case and a ONE 

YEAR WARRANTY! 



20 meg 
40 meg 
65 meg 



$ 659.95 
$ 879.95 
$ 949.95 



External 3.5" Floppy Drive 

PIONEER'S 3.5" floppy drive comes complete with an 18" 
cable, fully enclosed metal case, a pass-thru for addional 
drives, single or dual drive, ninety day warranty and consumes 
about 2.1 watts. 

Single Drive $ 159.95 
Dual Drive $ 329.95 



PIONEER 
COMPUTING 

-Blazing a New Frontier for AMIGA COMPUTERS- 

2469 East 7000 South #200 
Salt Lake City, UT 84121 

(»1) 942=1174 




Listing Five ^^^WWi 

The Macro File '^^macros.asm^^ ^ ' 



(The following library routines should be appended 

to the list of library routines shown for this file in last month's 

column) 

OpenFile 

.'This routine opens an alroac^-existing file 

In; M -> SB containing the filename 
Out: Al -> the tile handle 

(0 - file doesn't exist) 
Zero Flag - Clear If the file exists, 

S&t if the rile doesn't exist 



HOVEM.L D0-D3/A0/A6,-{A7) 



r (Push registers) 



.'First, we must convert the filenairae from string 



buffer form to 

ADDQ.L #4,A0 



HOVE.t iAO)+,Dl 



ADDQ.L 
ANDI.L 



D1,D2 
43, D2 
#5FFFE, D2 



sira.L D2,h^ 



MOVB-L A7,A2 



HOVS.L A7,A3 



SUBQ.L #1,D1 



form 

(HaJce AO point to the current 
useage of the filenaioe 
string buffer) 

Set the byte counter (Dl) to 
the current useage of the 
string buffer 

<Ha)te AO point to the first 
data byte of the filenaioe) 

Create a temporary buffer on 
the stack of the length of 
the filename, +1, rounded 
up to the next word boundary 

{D2 - the size of the temp- 
orary buffer on the stac)t> 

(Make A2 point to the temp- 
orary iHJffer) 

(Ma)te A3 point to the tenqs- 
orary buffer) 



OpenPileS .'Copy the filenaine from the 

MOVE.B (A0)+,{A2>+ ,- filename string 

DBRA Dl^OpenFileS 

HOVE.B #0, (A2) 

MOVE.L A3,D1 ;Open the file 

HOVEK.L A1/DZ^-(A7) 
MOVE.L lHO0E_OLDFILE,D2 
HOVE . L DoaLibraryHa ndle , Afi 
JSR _LVOOpen(A6) 

MOVEH.L (A7)+,A1/D? 



ADD.L D2,A7 



.-Delete the temporary buffer 



MOVE.L D0,{A1) .'(Set the caller's file handle 

; value) 
MOVEH.L (A7)+,DO-D3/A0Me .-(Pop registers) 
RTS ."Return 



CreateFile 

;Thi» routine creates a. new file 

In: AO -> a string buffer containing the 

filename 
Out: Al -> the file handle (0 - file could not 
be created) 
Zero Flag - Clear if the file was created. 
Set if the file wasn't created 

.'Motes: This routine deletes any already-existing 
; file of the same name 



A create operacion may fail because an 
already-existing file under the same name 
has its protection attribute set, or there 
Is insufficient disk space to create the 
new file. 



MOVEM,!. D0-D3/A0/A6, -(A7) 



; (push registers) 



/First, we must convert the filename from string 
; buffer form to "C" form 



(continued) 



Amazing Computing V3A ©39SS 



95 



ADDQ.L ♦4,WJ 



HCVE.L (A0)+,D1 



HOVE.L 


D1,D2 


ADDQ.L 


t3,D2 


AUDI. I. 


♦5F?rE,D2 


StIB.L 


02, AT 


HOVE.L 


A7,A2 


HOVE.L 


AT, A3 


SUBQ.L 


»l,Dl 



{HaXe AG point X-O the current 
uSGAge of the filename 
string buffer) 
Set the byte caunter (Dl) to 
the current uaeage of the 
string buffer 

(HaJte AO point to the first 
data byte of the fllenarne) 

Create a temporary buffer on 
the stacJt of the length of 
the filename, +1, rounded 
up to the next word boundary 

(D2 - the size of the temp- 
orary buffer on the stack) 

[MaKe A2 point to the temp- 
orary bulter) 

(Make A3 point to the temp- 
orary buffer) 



Createrile2 

MOVE.B (A0|+,(A2)+ J Copy the filenarae from the 
DBtUh DlfCceataFilaZ; filenarae string 
HOVE. a «0, <A2) 

HOVE.L A3,D1 jCreate the file 

MOVEM.L Al/D2,-(A7) 

MOVE , L -#MOnE_NEWF I LE , D2 

MOVE . t DosLibraryHandle, A6 

JSR _LVOOpen(A6) 

HOVEM.L <A7J+,A1/D2 

AED.L D2,A7 ; Delete the temporary buffer 

HOVE.L DO, (Al) MSet the caller's file handle 

; valued 
MOVEH.L (A'?) + ,D0-D3/A0/A6 : (Pop registers) 
PETS ,- Return 



Deleter lie 

sIhLa routine deletea a tile 

In: AO -> a string buffer containing the 

filename 
Out: D(J - the statuji (0 - file could not be 
deleted) 

Note: A delete op*raticr) may Call becauae the 

existing file hai its protection attribute 
set. 

MWEM-L D0-D3/A0/A2/A3/A6,-{A7> 

; (Push registers) 

.-First, we nust convert the fllenane from string 
; buffer forw to *C" form 

ADDQ.L *4,A0 ; (Hake AO point to the current 

useage of the filename 
string buffer)< 
;Sot the byte counter (Dl) to 
the current useage of the 
string buffer 
^ (Hake AO point to the first 
data byte of the filenarae) 
.■Create a temporary buffer on 
the stacle of the length of 
the filename, +1, rounded 
up CO the next word boundary 
SUB.L D2,A7 ; (D2 - the site Of the temp- 

orary buffer on the stac]c) 
HOVE.L A7,A2 ; (MaJce A2 point to the tenp- 

oiary buffer) 
HOVE.L A7,A3 : (Ma Ice A3 point to the tenp- 

orary buffer) 



MOVE. 



HOVE.L 
ADDQ.L 
ANDI-L 



(AQJ+,D1 



01, D2 
*3,D2 

#SFFFE,D2 



SUBQ.L #1^01 

DeleterileJ! 

MOVE.B (A0)+,(A2)4 rCopy the filename frora 
DBRA Dl^DeleteFile? ; the filename string 

HOVE.B 40^ (A2) 



HOVE.L A3, 01 

HOVEH.L A1,-(A7) 

HOVE.L DosLibraryHandle, Afi 

JSR _LV0DEleteFile(A6) 

MOVEM.L (A7)+,A1 



.■Delete the file 



ADD.L D2,A7 



.-Delete the temporary buffer 



TST.L DO MSet/clear the Zero Flag) 

MOVEM.L (A7)*,D0-D3/AQ/A5/A3/A6,' (Pop registers) 

RTS J Return 



,*Thi5 routine woves the position in a file at 
; which the next read or vrite is to take place. 

In: AO "> the file handle 
DO - the offset 
01 - the mode: 

-1 - the offset is from the 
beginning of the file 

- thG offset is from the 

current position in the file 

1 - the offset Is from the 

end of file 
Out; DO - the previous position 
(-1 " seeX error) 

Notes; When a file is opened, the position at 
which the next read or write is to take 
place is the beginning of file. This 
position advances to the byte just beyond 
the end of each record as that record is 
read, so that if you read a file 
aequentially, you need never use the 
Seek system call . 

If you wish to append data to the end of 
a file, you seek with an offset of zero, 
and a mode of 1 . 

MOVEH.L D1-D3/A0-A1/A5,-{A7) ; (Push registers) 

HOVE.L Dl,D3 ; Cmode) 

HOVE.L D0,D2 ; (offset] 

HOVE.L A0,D1 ; (file handle) 

HOVE . L DosLibraryHandle, AS 

JSR _LV0S6ek(A5i 

MOVEH.L (A7)+,D1-D3/A0-Al/A5 r (Pop regiflters) 

UTS J Return 



CloseFllo 

:This routine closes a prcvioiisly-opened file. 

;In: AO -> the file handle 

HOVEK-L Dl/A0/A5,-(A7) .-(Push registers) 

MOVE.L A0,D1 

HOVE.L DosLibraryHandle, AS 

JSR _LV0ClDse(A5) 

MOVEH.L (A7)+,D1/A0/Ab ; (Pop registers) 

RTS ; Return 

RenameFile 

jThis routine renamea a file 

iln: AO -> a string buffer containing the current 
filename 
Al -> a string buffer containing the new 
filename 
Out; DO - the status (0 - file could not be 
renamed) 

Notes; Directory naxes may be included in the 

filenames. Thus, this function can serve 
4a a iBQve function within a volune . 



A delete operation may fail because the 
destination file already exists, or 
because a named directory doesn't exist. 

MOVEW.L D1-D3/D7/A0-A4/A6,-<A7) 

: (Push registers) 



HOVE.L A7,D7 



; (Save the stack pointer in D7] 



;Flr»t, we must convert the aource filenarae frora 
; SB fom to "C form 



ADDQ.L f4,A0 



HOVE.L (A0}+,D1 



MOVE.L Dl,D2 
A&DO.L *3,D2 



(Make AO point to the current 

useage of the filename 

string buffer) 
Set the byte counter lt>l} to 

the current useage of the 

string buffer 
(Hike AO point to the first 

data byte of the fllenanse) 
Create a temporary buffer on 

the stack of the length of 



96 



Amazing Computing V3.4 ©1988 



ANDI.L *$FFFE,D2; the filenAmBr *lf rounded 



3UB.L J>Z.fil 

MOVE.L A7,A2 

HOVE.L AT, A3 

SUBQ.L tltD\ 



; up to the next ward boundary 
; {D2 <- the size of the tenip- 
: orary buffer on the stack) 
; (Make A2 point to the teinp- 
: orary buffer) 
7 (Hake A3 point to the temp- 
; orary buffer) 



RenAraePilel 

MOVE.B (A0)+,(A2J+ ;Copy the filename from the 
OBAA Dl.ReiumeFilftl; Cllanjine string 
MOVE.B ta, (A2) 



AQDQ.L 44, Al 



HOVE. I. (A1)+,D1 



;Next, wc must convert the destination filename 
; from SB form to "C form 

: (Make Al point to the current 
useage of the filenante 
string buffer) 

,-Set the byte counter (tJlJ to 
the current useage of the 
string buffer 

r (Hdke AI point to the first 
data byte of the filename) 

.■Create a temporary buffer on 
the stack of the length of 
the filename, tl, rOUn4ed 
up to the next word boundary 

; <DZ - the sire of the tenqj- 
ottry buffer en the stack) 

: (Hake A2 point to the temp- 
orary fcofferl 

; (Kake A4 point to the temp- 
orary buffer) 

RenameFlleZ 

MOVE.B (Al)+, (A2)+ ."Copy the filenarae from the 
DBRA □l,flenamePile2 ; filename string 

MOVE.B to, (A2) 



HOVE.L 
AOOg.L 



D1,D2 
t3,Q2 
#$FFFE, D2 



5UB.L 02, A7 



HOVE.L A7,A2 



MOVE.L A7,A4 



Rename the file 



.-Now we rename the file 
MOVE.L A3,Iil 
HOVE.L A4,D2 

MOVE. L DosLibraryHandle, A6 
JSR _LVORename (A6> 



MOVE.L D7,A7 ; (Restore the staclc pointer) 

TST.L DO J (Set/clear the Zero Flag) 

MOVEM.L (A7)+,D1-D3/D7/A0-A4/A6; (Pop registers) 
BT3 ; Return 



!ft_ :BA$IC Tn; BS - LeftSfAS, I) 

<A1> <A0> DO 

.■In: AO ~> source buffer 
Al -> dest buffer 
QO — Number of bytes to copy 

MOVEM.L UO-D2/AO-A1,-(A7) ; (Push registers) 

HOVE.L {A1J,D2 ; (Set 02 to the max length of 
; BS) 



lHa)ce Al point to the current 

useage of B$) 
Set the current useage of B$ 

to zero 
(Make AO point to the current 

useage of AS] 
Set the byte counter (Dl) to 

the minimum of: (1) I, 

(2) the current useage of A$, 

(3) And thfl maximum length of 



ADOQ.IL. #4,A1 

HOVE.L to, tM\ 

ADDQ.L «4,A0 

MOVE.L D0,D1 

CMP.L (A0),D1 

BLE Left_l 

MOVE.L (A0),D1 

Left_l 

CMP.L D2,Dl 

BLE Left_2 

HOVE.L D2,D1 

Left 2 



TST.L Dl lit the byte counter is or, 

BLE Left_9 ; negative then jump to Left_9 

HOVE.L Dl,(Al)i ;Set Che current useage of B$ 

,- to the byte counter 
ADDQ.L #4,A0 .'(Make AO point CO the first 

; data byte of A5) 
ADDQ.L #4, a: ; (Make Al point to the first 

: data byte of B9) 

5UBI.L tl^Dl r'Copy the data bytes from A$ to 
L»ft_3 ; BS 

MOVE.B (AOJ-^, (A1J + 

DBRA DX,Left 3 



NEW FROM ROBOT READERS 

A Powerful New Way To Learn To Read 




ROBOT READERS Are Designed to 

Teach Children To Read !n An Effective, 

Positive Way Never Before Possible 

ALSO AVAILABLE 

* CHICKEN LITTLE * AESOP'S FABLES 

* LITTLE RED HEN * THREE LITTLE PIGS 



SUGGESTED 
RETAIL: 



$29.95 each 

for the Amiga 51 2k 



AT YOUR FAVORITE COMPUTER STORE 

Hilton Android 

PO Box 7437, Huntington Beach, CA 92615 

(714)963-4584 



Le£t_9 

HOVOl.L (A7|+,D(1-D2/A0-A1 ; tPop registers) 
RTS .-Return 



.'BASIC Fn: BS - Hlci$ IAS, I, J) 
<Al> <A0> DO Dl 

In; AO -> sourca buffer 
Al -> dest: buffer 
□0 — The position in AS to 

start copying 
Dl - Number of bytes to 

copy 



HOVEM.t, D0-D3/A0-A1,-1A7| ; (Push registers) 
HOVE.L (A1),D2 
ADDQ.L tfl,Al 
HOVE.L (0, |A1] 



(Set D2 to the TUX length of 

BSl 
{Ms)ce Al point to the current 

useage of BS) 
Set the current useage of 3S 

to zero 



TST.L DO 

BLE Mif_9 

ADDQ.l, M,AO 

HOVE.L (A0),D3 

5UB.L D0,D3 

ADDO.L tl,D3 

CMP.L D1,C3 

BI£ Midi 

MOVE.L D1,D3 

Midi 

CMP . L D2, D3 

BLE Mid_2 

MOVE-L D2,03 
Mid_2 

TST.L D3 

BLE Hid 9 



:Zf 1 is or negative, then 
; jump to Hld_9 

; (HdXe AO point to the current 

; useage of AS) 

.-Set the byte counter (D2) to 

; the minhnum of: (1) J, 

.- 12) Che current useage of 

; AS - I 4- 1, and 

; (3) the maximum length of BS 



,* ! f the byte counter is or 
,- negative, then jump to Hld_9 



(continued) 



Amazing Computing V3.4 ©1988 



97 



me 

memory 
Location 

Computers ftor 
ttie Home 



396 Washington Street 

Wellesley, MA 02181 

(617) 237-6646 

We sell what we know • 
Commodorel 




Amiga 
Specialists! 



Nfwrftrlhe Amiga 

PIXmilc - grcal image 

convstsion and processing! 

Inicrchange - conversions 

InlroCAD ■ a powerful 

'inuoduclory' CAD 

PajcFlippsr • simple animaLion 

TV Show - scripied animation 

WordPerfect- the name says it! 

Data Retrieve - new daiabase 

from Abacus 

Tejlcnift Plus - much improved 

Professional Page - the ultimatt 

in desktop publishing 
RickerFi.ter-7Mx470wiai 

NO flicker! 

Micron 1Mb RAM for the 2000 

Hard disk drives - 20-55 Mb, 

SCSI& ST,3.5" &5.25" 

Monitors • Sony, TTiomson, 

Magnavox and Commodore 

Laser Primers - NEC's best! 

Pons of Call * Galactic Invasion 

Foot Man* Tele War 

Softwood Write & File 

ProASM'AssemPro 

Gt^pliic Studio 

DIGlDroid 

Hum for Red October 

Time Bandit * Hollywood Poker 

GOMF! 




NewforlheW/!2S 

Super Boulder Dash 

Sesane Street ddes 

Sticky Bears series 

geoProgrammer 

KungFuI&ll 

Card Shark 

geoPublish 

Test Drive 

SwiftTai 

Sherlock 

NeoFont 

Ace 2 

Atdok 

The Train 

Bazooka Bill 

MISL Soccer 

Rogue Trooper 



Only What IVor/fs - Satisfaction Guaranteed 

Amiga/ C-64 / C-128 - Authorized Repair Center 
Hardware / Software / Printers / Peripherals / Accessories 



Right 2 






TST.L 


Dl 


If the byte counter !■ or 


Bl£ 


Hiqht_9 


negative, thftn jump to 
Right 9 


HOVE.L 


Bl, (Al) 


Set the current use^ge of BS 
to the byte counter) 


MOVE.L 


IA[M,D2 


(Set tJ2 to the current length 
of A5) 


ADDQ.!, 


H,AO 


IHake AO point; to the first 
data byte of AS) 


M>DQ.L 


*4,Al 


IHake Al point to the first 
data tyte of BS) 


SUB. I, 


Dl,C2 


IMake AO point to the last 


ADDA.L 


D2,A<1 


byte in AS, Rinus the tsyte 
counter) 


SUBQ.L 


11, Dl 


Copy tJie data bytes from AS to 


Bight 3 




B5 


MOVE.B 


IAO)+, IAD* 


DHRA 


Dl,Rlght_ 


3 



Right_9 

MOVEM.L 1A7)+,D0-D2/A0-A1 ; (Push registers) 
RTS ;ftetum 



StrCpy_ .-BASIC Fn: BS - AS 

; <A1> <A0> 

;In: AO -> source buffer (AS) 
Al -> dost buffer (BSI 

MOVEM.L D0,-(A7) ; (Push registers) 

MOVE.L {A01,D0 ;Set the nuratser of bytes to 

; copy to the jmK length of AS 
JSR I.eft_ ;Copy the data bytes from AS to 

•■ BS 
HOVE.L [A1)+,D0; (Pop registers) 
RTS ; Return 



StrCmp_ .-c fn; I - (AS-— BS) ; 

;This routine indic4tes whether or not AS - BS 

In; AD -> source buffer (AS) 

Al -> deat huffeE (BS) 
Out; <2ero tlag> - Set if the strings are equal, 
- Clear if the strings are 
unequal 



MOVE.L D3, (Al) ;Set the current useage of BS 
; to the byte counter 

ADDQ.L t4,A0 ; (MaKe AO point to the first 
; data byte of AS) 

ADDQ.L t4,Al ; (Hake Al point to the first 
; data byte of BS) 



ADDA.L DO,A0 

SiaO.L 11, AO 

Simi.L (1,D3 
Hid 3 

MOVE.B (AO) + ,(Al)t 

DBHA D3,Mid 3 



<>lake AO point to byte I in 

AS) 
Copy the data bytes froin A$ to 

BS 



Hid 9 

MOVEM.L <AT)t,DO-D3/A0-Al ; (Pop registers) 
RTS .'Return 



!U,ght_ 



,-BASIC Fn: BS - BightSlAS, I) 
; <A1> <A0> DO 

in: AO -> source buffer 
Al -> dest buffer 
DO " The number of bytes 
in AS, from the right 
end, to start copying 



MOVEM.L D0-D2/AD-A1,-(A7) ; (Push registers) 
MOVE.L (AJ),D2 



ADDQ.L t4,Al 

HOVE.L *0, (AIS 

ADDQ.L t4,A0 

HOVE.L D0,D1 

CHP.L (A0),D1 

BLE Right_l 

HOVE.L (AO),Dl 
RighC_l 

Ctff.L D2,D1 

BLE Rlght_2 

MOVE.L D2,D1 



; (Set D2 to the max length 
; of SS) 

; (Halce Al point to the current 

; useage of BS) 

;Set the current useage of BS 

; to zero 

; (Ma)ce AO point to the current 

; useage of AS) 

;Set the byte counter (Dl) to 

; the minijnuHl of; (1) I, 

; (2) the current useage of AS, 

; O) the rnax length of BS 



MOVEM.L O0/AO-Al,-tA71 ; (Push registers) 
ADDQ.L #4,Aa 
ADDQ.L t4,Al 



J (Make AO point to the current 
; useage of AS) 

; (Hake Al point to the current 
! useage of BS) 



MOVE.L (AO),DO ;Set the byte counter IDO) to 

; the current useage of AS 
CHPH.L (A0)+, (Al) t;ir the current useage of AS 



BNE 



StrCnip_9 



<> the current useage of BS, 
then ^ump to StrCnip_9 
If the AS data bytes <> the BS 
data bytes, then jump to 



SUBQ.L II, DO 
StrCnip_5 

CMPM.B (AQ)+, (Al)+ ; StrQnp_9 

BKE StrCtnp_9 

OBRA D0,StrC!llp_5 

ORI IS4,cai ,'Set the zero flag 
StrCmp_9 

MOVEM.L <A7)t,O0M0-Al ; (Pop registers) 



tas 



StrLen 



; Return 



;BASIC Fn: I - LEK(AS) 



;This routine indicates the current length of a 

; string 

tin; AO -> the buffer (AS) 

;Out: DO - the current useage of AS 

MOVEM.L A0,-(A7) .-(Push registers) 

ADDQ.L *4,A0 ; (Hake AO point to the current 

; useage of AS) 
MOVE.L (AO],DO ;Set DO to the Current uaeage 

; of AS 
MOVEM.L (A7)+,A0 ; (Pop registers) 



RTS 



; Return 



IFND MQDE_OLDFILE 

M3DE_0LDFILE EQU 1005 

ENDC 

IFHO HlMlE_NEWFIIi 

MODE_KEMFILE ~ EQU 1006 

ENDC 



•AC- 



98 



Amazing Computing V3.4 ©1988 



ROOMERS 



by The Bandito 



The hardware business is hopping!!! 



The hardware business is hopping. 
Computers of all types are selling, and 
industry executives are muttering, 
"Recession? What recession?" Amigas 
are doing well, especially the 2000, 
which is still in short supply. In 
Europe, the picture is even higher 
resolution for Commodore: there are 
over 70,000 Amigas in England, 
200,000 in West Germany, and world- 
wide the total has reached at least 
500,000 (those are the best numbers 
the Bandito could find). The European 
market is buying loads of Amiga 
500s — 8,000 in the past two weeks in 
West Germany. 

All is not wonderful for Atari, though. 
Sales are lagging in the U.S., and 
they've taken a turn for the worse in 
Europe, where the Amiga 500 is 
gobbling Atari's 520 ST market share 
like Pac-Man eats energy pellets. 
Atari's Mega ST has been a mega-flop 
in the U.S. where the price has been a 
major barrier ("S2500 for an ST? No 
thanks!"). It's doing better in Europe, 
where Atari is seen more as a business 
computer than a home computer. 
Overall, Atari's sales have been 
buoyed by the strong videogame 
market, which accounted for a sub- 
stantial part of their revenue over 
Christmas. 

News from Japan indicates the video 
craze may be slowing down, though. 
Nintendo sales are off 30%; this could 
presage another slump in the video 
business. Expect videogame sales to 
plummet in the fall. We may see 
game cartidges as landfill again, if 
manufacturers don't watch their 
inventory. The Bandito thinks this is 
good news for the home computer 
business, particularly the Amiga. 
Remember when video games crashed 



before? Because people had devel- 
oped a taste for computers by using 
their video games, home computer 
sales boomed. Perhaps history vfill 
repeat. 

Software sales, particularly game 
software, haven't been as hot as 
hardware sales. Perhaps it's the 
number of Amigas on the market now. 
Game software sales have been slow, 
so we may see fewer original games 
on the Amiga. The Mastertronic 
conversions from arcade games are 
pretty good, which may be part of the 
problem. When these games sell for 
about $15, it becomes difficult for 
other software houses to produce 
similar products. 

Speaking of games, snowfall must be 
heavy in Hades — the Bandito just got 
a copy of Return to Atlantis! Yes, the 
long-awaited, oft-pirated program has 
finally been shipped. It's the best 
underwater roleplaying adventure the 
Bandito's ever seen (of course, it's also 
the only one the Bandito's ever seen). 

The Bandito has just received a copy 
of Jet, a very hot flight simulator. But 
the Bandito's also seen Interceptor, the 
new flight simulator from EA, which 
looks like the hottest flight simulator 
for anything short of a NASA com- 
puter. Those two programs should 
have a great dogfight in the market- 
place. The Bandito has just one 
question — how come both games allow 
you to land your aircraft on the water? 
Must be some secret new military 
development. 

In other news, the Mindset is no more. 
Yes, the original "graphics" computer, 
an IBM clone with 640 x 400 x 16 color 
graphics, has died a lonely death. JVC 



had been marketing the Mindset to the 
video market, offering a number of 
video options: genlock, character 
generation, and animation software. 
Unfortunately for Mindset, the product 
just couldn't compete, and they closed 
their doors in November. Guess all 
those video people will just have to 
buy Amigas now... 

Seems that Aegis isn't the only Amiga 
company that's getting serious about 
the Macintosh. The Bandito's inform- 
ers in Silicon Valley say other Amiga 
companies having been talking to 
Apple about porting their applications 
to the Macintosh. Apple thinks that's 
fine. But they also want everybody to 
raise their prices for the Macintosh 
versions of the product. Power with 
the price... 

Speaking of price, word on the wires 
is that some people, desperate for 
color images on their expensive Mac 
n, are buying an Amiga to use with 
Digi-View as a Mac II color video 
digitizer. They're writing conversion 
routines to take Digi-View's 21 bit-per- 
pixel RGB files and convert them to 
Mac images. Of course, the originals 
still look better on the Amiga. 

Atari is making money OEMing its 
hardware to other companies. A case 
in point, spotted at Video Expo: a 
$60,000 digital video effects box using 
an Atari monochrome monitor as a 
display screen. Also at Video Expo — 
great interest in Amigas. Two differ- 
ent stores were displaying Amigas, 
showing off JDK Images Pro Video 
CGI and InnoVision's Video Effects 
3D. Majorie Franklin, a graphic artist, 
has started a company called Anima- 
tion Video Painting. They use Digi- 

(continueil) 



Amazing Computing V3 A ©1988 



99 



View, Digi-Paint, Aegis Video Titler, 
and Aegis Animator to create titles 
and other graphics for video produc- 
tion. 

The word overheard is that the Video 
Toaster from NewTek is the most 
eagerly awaited new piece of Amiga 
hardware. The Bandito hears NewTek 
is adding even more tricks to Video 
Toaster, and that it will actually hit the 
streets in May or June. Looks like 
NewTek intends to put an entire video 
production studio in your Amiga, 
There are all sorts of high-end video 
equipment that would be great to 
own, at a realistic price. The 
Bandito's going to have to study up 
on video gear, since it looks like it's 
the Amiga's true home. 

Sunrize Industries' ad for the Perfect 
Vision video digitizer seems to say 
that it does real-time, color digitizing. 
It actually does real-time digitizing and 
color digitizing — not both at the same 
rime. An upcoming module (S79,95) 
will add that capability. Some 



customers have been a little surprised 
by that, and the fact that Perfect 
Vision offers only 12 bits of resolution 
to Digi- View's 21 bits of resolution. 
This means the pictures don't have the 
same quality. Oh, well, maybe the 
next product (and the ad) will be a 
little clearer. 

Well, Commodore, get busy! The 
Amiga pioneered thousands of colors, 
stereo sound, and the blitter chip for 
fast animation. But now the competi- 
tion is creeping up — the Mac II has a 
stereo sound chip, a 16 million color 
palette, and a high resolution screen. 
The IBM PS/2 has thousands of colors; 
the Mega STs have a blitter chip. If 
Commodore gives the other computer 
manufacturers a year or so, they'll get 
close to the Amiga's price/perform- 
ance and even surpass it! 

One next generation Amiga the 
Bandito would like to see would be 
68020 based (with a 68030 option), 
with a 68881 math co-processor (and a 
68882 option), an Obese Agnus chip 



with 2 megabytes of chip RAM, 4 
megabytes of RAM, a 1 .76 megabyte 
disk drive, and an 80 megabyte hard 
drive. The screen resolution should be 
variable depending on your monitor 
size, but support at least up to 1024 x 
768. Oh, yes, expand the color palette 
to 32 bits per pixel, which allows 8 
bits each of R, G, and B, and 8 bits of 
transparency to get that full Pixar 
look. How about the ability to display 
256 colors at once (with an option for 
true 32 bit imaging)? Finally, let's 
make sure there's a built-in SCSI 
interface and at least 6 slots. Price? 
Well, make the base price in the S4000 
range, and you've got a Mac II killer 
on your hands. 

IThe statements and projections presented in 

"Roomers" are rumors in the purest sense. 

The bits of information are gathered by a third 

party source from whispers inside the industry. 

At press time, they remain unconfirmed and 

are printed for entertainment value only. 

Accordingly, the staff and associates of 

Amazing Computing™ cannot be held 

responsH'U for the reports made in this 

column.! , _ 

•AC- 



^^A\GA 



OUTSTANDING FEATURES: 

>- ORGANIZES WORK SPACE 
*■ CONVENIENT LOCATION 

OF DRIVES & MONITOR 
► HANDY DISK STORAGE 
>- MUCH MORE, 

FOR ONLY 



500 COMMAND CBNT^d 



(99.95) 



DELUXE MODEL FEATURES: 

*- BUiLTIN POWER STRIP 
>■ SURGE PROTECTION & 

NOISE FILTER 
P- BUILTIN COOLING FAN 
>■ FINGERTIP CONTROL OF 

COMPUTER & 

PERIPHERALS f- 

P- MUCH MORE 

FOR ONLY 

COMMAND CENTER A150 
AVAILABLE FOR: 

128 124.95 

64 109.95 

640 109.95 



(179.95) 




ONE OF THE TOP COMMODORE 

ACCESSORIES NOW AVAILABLE 

FOR AMIGA 500 ! 

* AMIGA is 1 liademiMi ol Ccmmodore Business Msclvinas. 
Compulet no! inciuded 



ACCESSORIES: 

PHOENIX HEAVY DUTY 

POWER SUPPLY 
SUPRA 20 MB DRIVE 
SUPRA 30 MB DRIVE 

JOY STICK E)(TENSION 12.50 

TILT SWIVEL 

MONITOR STAND 14.95 

DUST COVER 19.95 

ELECTRICAL UPGRADE KIT 89.95 

ASK ABOUT OUR NEW 

ACOUSTICAL PRINTER 

ENCLOSURE — THE 

"SOUNDTRAP" 



,tf^r^sf 



P.O. Box 203. Oakdale, lA 52319 
FOR FAST SERVICE, CALL: 
1-8(X)-626-4582 
1-319-338-7123 (IN IOWA) 
SHIPPING AND HANDLING: 
Conllntntal U.S. APO/FPOfCanada/Putrto Rico' 

Si SO Ia< eacii Cotimand Center Kawaii/AlasM 

S2.00 foi one accessorj iHm S13,C0 lor eacli Command Cenier 

JJ.OO tor t*0 Of more S 4.00 lor one accessorj item 

accessories % 600 lor Iwo or more accessories 



200 Amazing Computing V3. 4 ©1988 



In the Public Domain 

Fred Fish 127 & 128 and Amazing on Disk??? 



Hey there! I'm back with the latest 
and greatest Amiga Public Domain 
Software. This month: 



Fred Fish #127 

{or, MORE Entries to the Badge Killer 

Demo Contest!) 

Bounce 

Bounce is Steve and Tom Hansel's 
entry to the Badge Killer Demo 
Contest. It creates little dots that 
bounce around and multiply. The 
source is included. 

Nemesis 

This demo is Mark Riley's fifth-place 

winning entry to the Badge Killer 
Demo Contest. A small program with 
super graphics, animation and sound. 
Fantastic! 

Ripples 

This demo is another Allen Hastings 
entry to the Badge Killer Demo 
Contest. Ripple features a fixed object 
from a shifting point of view. Another 
great animation from Allen! 



Fred Fish #128 

Dis 

Dig into your Amiga's memory with 
this 68000 disassembler, written 
entirely in 68000 assembler language 
by Greg Lee. Along with straight 
disassembling, this command-line 
disassembler features: ascii/hex 
dumps, list instructions, build symbols, 
build locals, read/write files, and 
more. Documentation and source files 
are included. 



DropCIoth v2.2 

Update to Fred Fish #59 
Tired of that drab ol' Workbench 
screen? Do you ever wish the win- 
dows and the screen were different 
colors? The solution: DropCIoth, by 
Eric Lavitsky. DropCIoth lets you 
place a pattern, a 2 bitplane IFF image, 
or a combination of a pattern and an 
image onto the Workbench backdrop 
only. Hooray! The screen and 
windows are different colors! Try 
doing that with Preferences. Written 
in Manx C, the source to the latest 
version of DropOoth is available from 
the author for a donation of S15 - S20. 



LedClock 

Generic is the first word that comes to 
mind when describing this "no frills" 
clock by All Ozer. This clock is so 
simple, it doesn't even have an 
alarm — as a matter of fact, it doesn't 
have any run-time parameters. The 
few options it does support, such as 
12/24 hour selection, can be specified 
at compile time only. Also, LedClock 
is designed to run correctly on 
interlaced screens only. The source 
file, written in C, is included. 



MRBackUp VI J 

C.W.'s law states: "Hard disks always 
crash when they are not backed up, 
and the data is irreplaceable." 
MRBackUp to the rescue! This 
Intuition-based hard disk backup 
utility by Mark Rinfrt is flexible and 
time-saving. It backs up individual 
directories, directory trees, or even a 



whole disk easily. You can even back 
up from one directory hierarchy and 
restore to another. Incremental 
backups, based on last modified dates, 
are also supported. File compression 
is standard. MRBackup takes care of 
all the details. Just pop in a blank 
diskette whenever it asks. (It'll even 
format it!) It's no speed demon, but 
it's easy to use. Back up that hard 
disk! Includes extensive documenta- 
tion and the entire source in C. 



Paint 

Now here's something a little different. 
This simple screen painting program 
by Greg Lee is written in Web. 
Includes the source in Web. Please 
note: requires a Web "preprocessing" 
program to rebuild the source. 



PrtDriver (Toshiba "three-in-one") 

Here's a new printer driver by Rico 
Mariani for the Toshiba "three-in-one" 
printer in its Qume (best) mode. 
Includes source in both C and assem- 
bler. 



SDBackUp vl.l 

Back up that hard disk (or those 
floppies) with this powerful backup 
utility by Steve Drew. SDBackUp uses 
a command-line type interface to allow 
speedy backup of hard drives or even 
floppies to floppies (3 1/2 or 5 1/4). 
Back up an entire disk, a directory, or 
even a single file. File compression 
(Lempel-Ziv method) is standard. 
SDBackUp also supports the 1.2 



(continued) 



Amazing Computing V3.4 ©1988 101 



ARexx ... The REXX Language for the Amiga 

ARexx is a multitEisking implementation of the REXX 
language, an elegant high-level language especially suited 
for macro-processing and general programming tasks. 
Its clean, simple syntax makes REXX easy to learn ... 
an ideal "first language." And the powerful language 
features will appeal to experienced programmers as well! 

• Interactive, interpreted operation 

• Exceptional string-handling facilities 

• Built-in library with over 75 functions 

• Built-in source-level debugger 

• Compact code — only 32K! 

ARexx defines a command interface that allows it to 
communicate with other software. The list of Amiga 
software products that support this interface includes: 

• TxEd-Plus from C. Heath/MicroSmiths 

• C.A.P.E. 68K Assembler from Inovatronics 

• AmigaTEX V2.9A from Radical Eye Software 

Written by the author of "ConMan," ARexx sells for ... 

Only $49.95! 

Send check or money order for William S. Hawes 
S49.95 plus $2.00 shipping to: P.O. Box 308 

(MA orders please add S% sales tax) Maynard, MA 01754 

(617) 568-8695 

Amiga is a trademEirk of Conunodore-Amiga, Inc. 



HOT CORRECTION! 



N 





_^^_ • 



Figme Two: Fraat cdAiooo 

The diagram on page 59 of the "PAL Help" article in AC 
V3.3 was incorrect. The correct diagram is presented above. 
The article text was correct and following those directions 
would have made the error obvious. We apologize for any 
inconvience caused by our error. 



archive bits (for incremental backups). 
SDBackUp also sports disk formatting 
on the fly, as well as a powerful 
maintenance mode for checking/ 
marking/clearing archive bits on files. 
Includes extensive documentation. 



SED 

SED, by Eric Raymond, is a clone of 
the Unix (Stream EDitor) program. 
Includes documentation and the source 
inC. 



wKeys 

This "Hot-Keys" type program by 
David e Cervone binds keyboard 
function keys to window manipulation 
functions. This is good stuff! Includes 
the source. 



That's it for the latest Fish master- 
pieces. I'll be sure to report on the 
latest Fish disks as they appear. 



Well that about covers it this month. 
I'll be back next month with more In 
the Pubhc Domain! 

GoichalW 
— C.W. YXalie 



Oops... One more thing... 

Don't feW anyone but... 
My friends at Amazing Computing tell 
me they are developing a new collec- 
tion of TOTALLY NEW Amiga public 



domain. Totally new??? That's right! 
There will be a new diskette each 
month to complement each issue of 
Ainazing. These will include all source 
code and executables (and maybe a 
few extra goodies). When can we 
expect this yet unnamed collection? 
Well, it's still up in the air, but I 
expect to see a disk appear soon after 
this issue hits. We'll see... 

•AC* 



What would you like to see 
in this column? 

Please send any PDS questions, 

comments, programs, old cigarette 

butts, etc. to: 

CW. Platte 
c/o Amazing Computing 

P.O. Box 869 
Fall River, MA 02722 

Please indude a SASE if you would like a 
personal reply. 



102 Amazing Computing V3.4 ©1988 



■^WWWBWWW???!^^ 



AMIGA 



Audio Sources 



(Continued from page 71) 



Aegis Development, Inc 
2115 Pico Bid. 
Santa Monica, CA 90405 
(213) 392-9972 

Applied Visions Suite 2200, 
1 Kendall Sq. 
Cambridge, MA 02139 
(617) 494-5417 

Associated Compiiter Services- ■ 
1306 E. Sunshine 
Springfield, MO 65804 
(417)887-7373 

Computer Expansion Products . 
3596 Soutli 300 West #lO 
Salt Lake City, UT 84115 
(801) 264-8238 

Datasound 
603 Brantley Place 
Virginia Beach, VA 23'352 
(804) 431-1362 

dissidents 

730 Dawes Ave. : 

Utica, NY 13502 

Dr. T's Music Software Inc. 
220 BoyJston St. #306 
Boston, MA 02161 
(617) 244-6954 

ECE Research & Development 
1651 N. Monroe St 
Tallahassee, FL 32303 
(904) 681-0786 

ECT SampleWare 

P.O.Box 36 

Sierra Madre, CA 91024 

(818)355-8819 

Electronic Arts '- 
1820 Gateway Dr. 
San Mateo, CA 94404 

(415) 571-7171 



Frog Peak Music 
P.O. Box 9911 
Oakland, CA 94613 

(415) 485-6867 

Golden Hawk Technology 
427-3 Amherst St. 
Nashua, NH 03063 

(603) 424-0269 

Hypertek/ Silicon Springs 
120-1140 Austin Ave. 
Coquiltlam B.C, Canada V3k3P5 

(604) 939-8235 

Infinity Software- : 
1144 65th St. Suite C 
Emeryville, CA 94608 
(415) 420-1551 

Interactive MicroSystems 
Landmark #20, 80 Merrimack St. 
P.O. Box 1446 
Haverhilll, MA 01831 
(617) 372-0400 

Karl R. Denton Associates 
P.O.Box 56 
Westland, MI 48185 
(313) 522-1939 

Magnetic Music 
RD .5 Box 227A Myrtle Dr. 
Mahopac, NY 10541 
(914) 248-8208 

MicroIUusions 
17408 Chatsworth: St. 
Granada Hills, CA 91344 
(818) 360-3715 

Microsearch Inc. 
9896 Southwest Freeway 
Houston, TX 77074 
(713): 988-2818 



Mimetics Corporation 
P.O. Box 1560 
Cupertino, CA 95014 
(408) 741-0117 

Opcode Systems 
1024 Hamilton Ct. 
Menlo Park, CA 94025 

(415) 321-8977 

Pregnant Badger Music,; 
lOOlO Biscanewoods Way 
Sacramento, CA 95827 
(916) 361-8217 

Silver Software 
77 Mead St 
Bridgeport, CT 6610 
(203) 366-7775 

Skyles Electric Works 
231 S. Whisman, Suite E 
Mountain View, CA 94041 
(415) 965-1735 

Speech Systems 
38 W 255 Deerpath Rd; 
Batavia, IL 60510 
(312) 879-6880 

The Other Guys 
55 N. Main, Suite 301 D ; 
Logan, UT 84321 
(801) 753-7620 

Visual Aural Animation 
P.O. Box 4898 
Areata, CA 95521 
(707) 822-4800 

WaveTable Technologies 
1647 Willow Pass Rd. Suite #267 
Concord, C A 94520 ; 
(415)947-0689 



Amazing Computing V3 4 ©1988 



103 



'...it ii smail, intlallt with jutt a doubla-clicK on an icon...a 
wslcofnii utility For Amiga iitsri.' 

-INFO magazin* 

'..Without a doubt, the most important program thii month 1$ GOMF. 
All Amiga user) ar« *icK and tirsd of losing running program) and 
data to the dreaded Guru, and anylliing that can stop thit terrible 
syndrome deserves a round of applause!' 

'. .So il Gurus ara getting to you. add GOMF lo your Amiga 
environment and you can slarl saying goodbye to the GURU tool' 

-■Cammodore magazine 

Now GOMF is even better! 
Version 2.0 NOW shipping 

NEW FEATURES include: 

-Automatic removal of ALL errors (task held, GURU, etc.) 

-Preserves low memory auto vectors. 

-NUKE those pe>)<y CANCEL requeslors once and for ALU 

-Eliminate ANY task or device AT ANYTIME. 

-aulo-conflgures for 68000/68010/68020. 

-CLI and Workbench compatible. 

-Extensiva, easy lo understand documentatian. 

only $39.95 



New Products for All AM/Gj4S 

Hyp®[rT®fe/^IIMeffii(ni SprlireQ)® 



Deluxe MIDI interface 

limply tht ■EST lull-l«tiur*4 MIDI inltiTie* avtilabi* for ihi AMiOA SOD/IOOD Fully tornpilMtwlti 
fcll pr9gr««ni Ihtl ui« a*rlit Mlbl alvndvd oulpirt, ONLY tht DELUXE MiDl INTERFACE ollin you 
• ERIAL PORT P4li-1hrv. MIDI IN, MIDI THRU. Afld two awTTCHAfltl THRU/OUTS I THIt li tht 
Dpllmum conflQgriitlon (or uyon* wllh men Vitn ont lynUi or othir htiOi divic* No THRV on yaur 
■ynlh(«)7 No problimi limply nip i twitch an Ih* D«iui* MlOl liitprf »et. «nd cuold coilly THRU boxiil 
Jndudti S FddI ctb», 1 y*«f wMTMiy. 

Pliiii Sp«clly rnodil 100/1000.. .,„.,„, .^...^ , .,..1$» 



TTL Hi-res Monitor Adapter 

For tht Amigji e00/l0[>o/lQO0 Piuffi Inle n<]Bi port (or ULTRACRfSP rilcii«r-fii* high r«toiuiJ«n 
monochfom* vld«D Qgtput. P#rt*cl for HI-REa ORaFHICS, WOftOPflOCES^ING. CAD. DESKTOP 
PUBLISHIHQ, BUSINESS. «ie. ANV appllcillon In AMV rtioluUon li SHARPER «nd CLEARER mHi »n 
TtL Hi-fii Mojiilor A4»pl*r. P«r1tcl lor utt with thi 16W -COitiuftair *TM) CommwJorti 1*31 moflflw 
er Manlior ID lneiud<i itiy ^n*1ili|«tion irHni client, t dtlk with t tpvatl hli-R«t WorhSanch lonl and 
RQ& pan pail -thru (« IfieC ROB iTiDnMor may b« ui«d llmutttAvouiiy) 1y*u warranty 

(Monitor no( inciudadj . . %%% %% 



Ligint Pen 



D*llan«d l4 werk wtlh Any AmlOi progriRn, Th« LIOHT PEN xnd DfWER aDowi t;ja flf both your muiM 
■nd t prD-4u«lity UQHT PEN f«r tht ummtK in pr«cUlen griphkt Ptrfictlor PAjNTiNa ORAwlNQ, 
frtfhana (KETCHlNO. CAD ind v1.nually ALL «thtr dUtiCA progiimi Saflwtra rtcturai includa: 
■litf^t -p<t>*l priclilon, varlabJf lamltlvlty. ZOO'M mP4«. buHpn tfrpgH. tk. tncludii kntcmtll Syitamt' 
DT-1B4A high quilllytWD button llghlpan. U4/i OftPFff SF£CV^- Whii* ii/pj>il<i MrL win w«o 
Inel4ld« 4)i«ndy PEN- HOOK 1h«l atlaahaa laally lo youi maAlLor lo hold th« AMIGA LIOHTPENwh*^ 
not In ui«l 
(««0/1*00/l*0ft).... , ., ,. , .1131.1$ 



All producti ift NOW SHIPPINQI PIciii mikt ehfqu* or money ordtr piytbl* to. 

H^p®rT(iW§IHc(Q)irii Spirilrao® 

Suits 205-2571 Shaughnessy Si. Port Coqulllam, BC CANADA V3C 303 

Phona (604) 942-4677 Doalor Inquires inviled. 

Ale ardin jdd |4 ihippMfl AJ prttai In USI 
Ord»r by phojrti VISA. MulKcwd, AMEXmlcofra. 
U •. enton ma IS wi)Sn« tM. 
AMiaw It * fiiiiiirvB itiat«iit It Ct«»i««'i-<i>>g*. mc 



Index of Advertisers 



A-Squared Distributions Inc. 

Actionwaic 

Amazing Computer System line. 

BCD /Jim Black 

COMMAND Simulations 

Commodore Business Machines 

Comp-U'Save 

Compplications 

Computer Mart 

Creative Solutions 

D-Five Associates 

Delphi Noetic Systems, Inc. 

Digitronix 

Don's Computer Works 

Eraware 

Fuller Computer System, inc. 

Golden Gate Shows 

Hilton Android 

HyperTek/ Silicon Springs 

In tcrface Technologies 

jumpDisk 

KeyTek 

Lamplighter Software, Inc. 

Lattice 

Lightning Publishing 



17 
15 
43 
91 
92 
63 
74 
22 
87 
64 

103 

69 

37 

79 

19 

93 

6 

97 

104 

65 

45 

100 

34 

7 

43 



Users 

Logical Design Works, Inc. 


23 


Lynn's Luna C 


24 


Magnetic Images Co. 


51 


Mega Ironies 


cn .; 


Michigan Software 


53 


MicroBotics, Inc. 


33 


MicTOillusions 


ail 


MicroSmiths, Inc. 


54 


New Horizons Software 


1 



NewTek 

NewWave Software 

Peacock Systems 

Pioneer Computing 

Proloific Inc. 

Sedona Software 

Software Advantage Consulting Corp. 

Spirit Technology 

Syndesis 

The Memory Location 

The Other Guys 

The Right Answers Croup 

TRU-IMAGE 

West Coast Telecom 

William S. Hawes 



41 

28 

95 

3 

61 

77 

75 

94 

98 

21 

52 

3 

47 

102 



W4 Amazing Computing V3 A ©1988 



p 


TheAMICU, 
'ublic Domain 


S <fe Frerf Fish 
Software TAbn 


arv 


This software is collected from user groups and electronic bulletin boards around the nation. Each Amicus disk is nearly full, | 


and is fully accessible from the Workbench. If source code is 


provided for any program, then the executable version is also 


present. This means that 


you don't n9ed the C compiler to run these programs. An exception is granted for those programs \ 


only of use to people whc 


own a C compiler. 






The Fred Fish disk are cc 


llected by Mr. Fred Fish, a good and active friend of the Amiga. 




Nola: Each dascripllon lino balow may Include somolhing Ilka 'S-O-E-D', which stands lor 'source, object fito, executabto and doeunwntallon'. Any combination ot Iheso leners Indicates | 


what forms of Iha program are present. Bask: programs are presented entirely In source code formal. 




«WCU8 IXi> 1 


AMni3aak2 




Amiga BHicPrayaint: 


ABulc prefnmiiGrk^ei 


C pTDgmmi: 


Mritafflp.e ixani^otBarnlpetuH 


(Noto: UviyoftWHpr97vn>««prav^onAMIClJS 


JOSg'M 3d igl« noMing frgg. ataFniti 


riib AingiDOSot:)««ltyvyminag«.£'E 


pimOc nnp^ pinfcr irYkrtfc* COflt 


DviiV &«warc4-Ma>iir«c&'w«nBdti AmgaBajK, 


oi:i!la 


V tal to mHwm pv^'wn. ${ 


prtHKh pFinrWM* dvhrrtoni 


andvtiTKluMdhvt.) 


BM&> drartUsdil 


liobi msio ^rvopi t ac-Um IW 


«9nM.e iiQaft act program 




tJOK draws cuWf 


tf« li^FrtaiUWl.S-E 


■•tKVC lomvtgntirlaof on'vffpragfini 


Bad ttanaPtf 


tX*li df««j>cliP«flf»By»orDwif 


•q. Uiq lticsr-[rtn«npr»grafniS-E 


■twALc st9«AihA«tFrihiparaMxrt 


Ctaad pregnniaaiirtrcCaripjaafyahai 


f%at* dram IruU iir^dtapH 


VteniC airriivgint.S-E 


SatSanit^ an vm tcritxjm [panTy. daa aH \al ra 


Hh ti iff^rf. S-D 


HWn »Hii«ng|roBiini.WI)<»nlB« 


Uita a ftTp* >iaB*' cBijg^afl'mrtg jsJcf. S€ 




Ckjt twftnw, ktiriefi(rn*n 


mwnit 


Err.Ka ^•^•i.'lir ii^mor d fw AnBl^«I«*nr. S^-0 


qMwniBy.c (ountonan-ibrandpiDnatcsOma 




irti ^<t\pt paiM p43Qrm 


AiMrrbCv posruni: 


lfflad»iy.e Bfr>tVRtf a»m» 


OrimlOtai Tw ftawng pog'B.-n in B« 3td AC. S-D 


OpMI drMFwerifiipDcaJaunDrt* 


bSM/chJvn tiinify Hinch cotia 


irT*.c exacBjppV.tmarhrclBrti 




ParnBa rnnpii pant prognLTi 




ImrAAc rr.qr«t»CKCfWr|Qm«r ^mdsn* 


OtMlh) twgiLnw. ajiirxiwiu^D'' 


Sfva* d(«(»t»Shnitin3dKi(rtfi«nt 


wvJCltCpcggtTi 


WittiFonic ItiaA kiJ i»q»iiyi af avaiabl* tynfn Itinii 


RnUaa SOra^tagairrw 


Sp*c*A^ grvhd »rfl 


■VTFLavn w^THl eri# tor u*M aa2 


praaui *id ftatm i tttnsacw rvdjda ^Ma: 




SptAv tpHCti V^i^ 


SVpni* l>lilyTWlVcOrrpcb#pf/!«l) 


■flWU.K mTMnBi5fa«&:flc«»niril*r*qi»f»r» 


StuW «Bn30EM£Jtss(twqiic* tfxJCti 


Scfw* iarMaflymi 


r*au LhiwriMttMfrwO^wss^.CM) 


aruBMUxe capftilt^PKUeortCftVO&tm 


Spatng Vrnpk ^3^i^q prolan 


Sfkrli ilrton^ai^lOriM 


{Ttw***Bm*tyf»fllTi(»aValsn*«indfam(i«.E«M 


dmtanu -mttfir^ »f a m !cri: loaa^ig bug 


VoYfl NWdzar^griv^y^yjdama.taAf 


Thf»»Ow 3fl irtSart ps* 




tObnc^ bctQfl(9afn«(.rracrit. VKtgna 


)r*Tfl»?»?wj» 


Tflpj9fi(*iy tri5eii aoograprty 


Tr.ww! to r*r own 4H n ?<• AMCUS«lK3en.t 


BpuiJfy.oa orairr.nifycopyo«r»flput«rtjacftap»f 


Cawikl^l progrima: 


WiHil driMS cM^rtO^id 


John Dnpar Amtga TLrtahtIa: 


Uwviirdb.'TnBEananWDrUBncM^nvtan kww 


SDiuDa U(xtiit-2M-iDo4BFoaUi>gcibe 


Xang* itwti ^TtCM p** l«ntf KlpH 


wfflOB dan^ua irtrtason i(OD"B^'H 


pnrrfcr pr»fgiM» «py Ol rt a-IOlU <in pnrv onwt, !r*Ti 


AAttin aas a >eea.-w car ^jgi< dn^ajM 


ABMlcp'OBmnaiTo^i 


Gwlgati UAmripn 


^KigA 


FKH1.1 vllttw 'iifrot.ttl»owv**«"*™"1fl*l-l 


«#vn?ia convcadud 


MonsSooli ftFpp4 oaabtB [roQn.'n f« kMhhii 


Utnu« ■mm^tKU 


hft;ilonw«ji 


v2»rt d<! >lrr ef t^uoa r* iT^^i l^m wftw 2B u t .0 


AmtgaSpiri iriowbultnpieipe^ti«dw,E-D 




AHCUSnih] 




A»CV3_P!A1 F^lwfrvnlhfAfnlatUT*/ 


lie ttaAftCflffCtfrfmianpragri 


Owno mUtwndowrawna 


C fvitagimni: 




Anl^ hformitffln Nttwork 


mMVt-hnvlgr toteom.E-O 


KgyCodM ihcneleyccdHbf ikoyifQupiva 


Xrd tCcTHt- 




Now Biat tema 6f «« f ^ am oW. am rrti la D(d* wtoona Dl 


uvfand DraphicB Ohto 


U*nu (un mtny ABanc pfogwfli ff«n t nn*^u 


Ebtdor ulra-hili' 


yi^iTchp g* dwno. S€ 


twoppmrgfyrfcrr, Tiewl^etBrflHmArigabi^, FortBrw, 


diikHlvagi prog, to Fwcut vailed d«ki,E« 


UeraCfllwj w?y t jjatriflw gjldJO'v** w»«i 


Oiep buncn(c 


hDp)liMdawlpsjB.Sf 




KwkCofTr Btfiidib-lnBstydiifccQpjr 


at once, using tfLoang 


Owvp wiawa ai 


firpa owictai trom toil liBt 


*dirKK lupptft. ii:Miar^upirarurT<rigfa( aawhlwBtkL 


piogriTv: gxreswraw^E-O 


Vdpki BTrp4ec£ibfihipa(X«7i*Spnk)t 


CRZLF carrwnci 


vriagt ftuna * Irw iBsda in 


ThiwrSttnionrtcanytiwrrinljr. tffl Bra b'tftKltonalpur- 


LitO! ira hj-ki jn an otMd Ela E-0 


tpe«?i &rt) rMFTitOF (Mmo 


AmigttlM 


L.&^ 


poHi onty. OfccurH, miri no^ b uy Paj ttoAttOfK 


SmIBU aw«nysnwiH FFpcE-On 


ABuicpfognimi; Gimi 


Errar addi eomf 


4a man b a C ^ka. S 


A d*mo Of Irmrittwnanui aV*4 'npnv^flnQ', In C icurcai 




QncttOut dctPccmipulHbndiwriigamt 


H»lg wnOvttm.irv^tmPm.t 


MfwtiLC IMa^^aeircnng*! hjodiraewiaa 


SfcfTrni iwon 2.D. *rn program, ftnochmE-O 


C»i«l4 i.'K itnwr u ^' 


Kwml ^n»rc Karrni! rn(tofrvm«i, f *iy, 


teb^iTf eoe pragrvTvningBin^ 


Tarti: 


Sfcxw UTip^ ih«*#nv-yp pirw 


ro IrTTinKmodB.SHE 


*M«pc lD.Pdf)n^a•'t■llm{M 


llBlaMrtn Ipcdiling nwnciiUtdct 


Sp»l.ng prrpH ttBa^ iptlkng gm 


ScMt uundd«rQpfi^pcKhfa.$-E 


AwvnUvtIta: 


QDWdMt* mMyo/gifnSlMtffW 


TiTjfSoi ■diKt^M'gfipniadwna 


&w6 FW»^a*ttfarrorii-MciiOFi,s* 


nt]idav.Btfn ikti^ da-wa dt<«r 


<kn*lid avians tie Qifurunbtra 


ABule pregnmt: Souidi 


Afnlgifl4rieProQt(dil 


ni|(4,cm HLTip* ibrvY vurnfM' 


iJtlOAtjgi btg ^aiimcM C w*«i 3:03 


Emrtarw ^syiS^ftjnB 




m]il>b.j 


MTdBintM wv^vwro14vUtT9F7g«W 




Crai>€i^» cv« gun* 


ni)flw.j 


PliASporiv EXEO/rt-^MiKJ pfvnttpoal prag. 


Poki Birrp<T»ic«BFennund 


QrapA Knctltfi gr«ting progrwnf 


aan^iuppj 


MUS>nm: 


S^i^Pi/n pftj-iTwDtnafltMSustrplum 


Wt^tngHour lewnt 




TTm in rw fwamiry ii rkt bsMwn Ani iQi BaM and 1w 


F.nw" 


ABMlCpn^ana: 


TWr 


t]r»H lib V M. Td ti ha Bdnn^ifa Q 1 !rw An g t'l caplUita ■ 


C prv^Fvnr 


Ca»n) gamt«0lpcMr.HacSK«.4oi^«idGr«pi 


inigiiidtt IpaanO-learrwaMi 


m Bate. irft/na»d rwa '^M. BUAPt are indjJad ta» tt tf, 


ATrr SifrpiavrminiJp^gnni, SC 


Gomoiu aaelvmwiu^rtfQ' 


MQt* HknpTiMiipnltninn 


'aiwoW. ta«tffi< ■»«; Wot: ViLi»4n'. \tr«r. Vianf^j" 




StbsB^ ion at an adMnijs gar* 


gani^Hri -ovntpvi apse 




dKwn Dpp«ik9f CONVERT itraou 


EzaoiMh prggnna: 


paraU pnMpMipae 


iRWind >vtfBiDf. 


dflveiapM 


Dunn lettXdwwnUv.E-O 


ml imtf pvtipK 


J^ieMWahl 


Oifft f5w»»Mt^^•1Bflfllr imnDowdww 


p>Sdi #OT« ■ grtiwi « o( FF pctPTi^ E-0 


vl.li^Hjiv tc:fffnatt1*c;nt«iv«wi1.T 


Amlpa Batic Prggnmc 


•tfsoE U!a-s:f«f«nineBipni»%ptniJS,00 










AMWTtUv pogrimi: 


FiMfar tuoSir^ jOiM dmr prY^ drwvL >ndv4ng POiptQikc 




FiD«ta Si«fjl.re(;«i^ofi*lf*«Dn itfKS-E 


ftifiWm wmfm pi'iQtrn mti t(mKt\ m^ Vfi-.tetifi, 


BfrnnUtLC, nrtam, prnvc. prntr.ln< pnn*4o.ivi. 


RaquHW «i. af KaquHMrafrorr^ Arr^ a Baiic 




&£ 


nnOv.&anlwnBVTL Th«daid»icvf«inifvn{»relSK 


SmWWng OamaniailwKrgGng capn^eii 


QTiiMtffl fl,'iof*cfr«n(!7uHgeifidciB',&E 


AWCtf a Dlafc « F1lHrn>>nti«Df1glnilAmii^ 


daarabing tw FF ipHhciian. Dm* ar* n« n Mat i^ 


SynTWar B\rd pregran 




TvAnlcil BB9 


gratk* ^n, but rwTiBnrvr* tar hiitarcri pixpamt, Thay 


WorUHap drM«imip«tr«Mrid 


dK^ h«rijfBwiatl^«h«id-ir*fnK*fy 


Naktuiaonaof Vwa »iM vaakl. vid «tota oU« wfeoni at 


r4u4vtortl«sandCnuaaufnp(tL T^•latotrF ^wli 


ExtcukUfl pngrama: 


TTitntKi ci Oi'-v gfrmson 


Mop»T»&ig<yOim, 7r«nli«am«fvnih»S(Pi)ifemffiti 


alBw^wa in ffiiiilitirary. 


Bomgl taw Boingi dBma.wffi isEaAM i^«id,E 


BM2Amlgi fatt Fa.'t:iai aa* ginrtM a*&wtn 


aHVvdBiitniqi«(^nc*faifipQrThntDrmaBofiafi& Theae 


AhKVg.atki. lfFn=t*>a 


BftUfiZC OMWwTiinFFCrLiilDCdEB 


»n eU S-T! an Angi 




Thtdsk rdjctntrv DRShMprogrvn.ii^idicanwwigpvn 


fteuc!ti!«, At&lzoMedda. E 




only. 01 CXKrm, 9mU net b Hr T«r (tontwrk. 


i»rt« ftf FF picuoj, and fte 'ifiswptf pragf m. wf»* ear w«w 


Bfu*>!Jnn cowwTsfFtK'jtfit ■n^csrv.E 


!Mii» fnaEfrtflcsfspfKoano.S-E 




MdilfeainBdckalariKsn ThBpic£jftrxiv4i»fCTvan(TQffl 


Os££l« ^ip^Kida^a.iEidanmisyB.E 


Ot!** ni*«La3ojC«.^t»ir«Bi« 


Campla* and rwarVup-to^k Cnirato VrigiKf. mw/V 


*rteFes.iOegaicaiMf. n»fljy»it EiectoFKArm,a^rti», 


DKuo. Bf H'TCMr piogrH'i tot tt&p^flQ 


VIBM9 WKk,5-E 


w^cn of r« tgn EOrbF. TtiiiaaMltta^. tvtramfviHanJ 


hwHi,KingTLt.il7rti9bi0.aaffa»nil9^MvtttUadrwi,tfw 


WiSarranS^-D 


qudi qudiurtRif^Qtreueiv 


rurv. 


Sugt fiumy iUrtvi, ■ iSIl hm in (Mf mnM, tw Dm S&vti 


KMi m»iu4wtfod(inddB>(1^3tay,E 


;m tKlfflptaHnpkMndM'IO 




mwing company, i acrttn fron^ Hneari Cwrueow S*v i TV 


Irl* t*g«mto1li*,E 


HflKi mmaanlnv^aeamMt. S-E 


An Inlrton dam^ tn Ul C Hun; nduding Dm: Affloi!naiu.c 


mmattsf, tn PajnlCin, a wrarid mip, a Porichi. ■ ttuO* 


Tma^ titjilKin^>a»d)nytoartV«);Twi dik 


knuXi q<i-^rpv grgphc 49m«. &-E 


dMTivf^anuZj:, damttaq.^ gataidie, UanaA idafflo^iidt. 


m>nn pafcti. a tyrvinoH;mrtii. ■ fiwwi vwv. i V^Acant 


EMEmaca anonif EmacitmonorMmdu 


Olhw UKutitota progrtrnk: 


idtmo.m»l», damaafih. no<*Jtc; rid to^rtaj: 


vdi ton-tpsod. 


Mord priKBung. Sf -D 


SpMcfiToy ifJMCftdflfnaniwiiw 


Dddrrw^x abdexBfnrirTwnorybtBifttom 


AHCUgpUtT OBlVlt«KAUdaffl«filcurad* 


U^ai aaithei.KiOTiKMtfvutTa 


V^ic^Fant dtsp(Aya«JHalab(atom 


bobtKlc BMimpiSDfBOeuiB 


Thii ditk ha& pc^jraa Vom Tw DgiViM hokj-nj-modrfr vidso 


War)(berdi,S€-D 


Tk*: 


conjo(aD£ emaoto Daxtfrpia 


*7l»f. ftinciytJwt^lKtflUKtipanoUnndlollTPOpMS^yoyng 


Tart: 


EHZD d«fiatbet6BC!23q)BKlupbiardlrvnCSA 


maprtc cnilB ind clfl^ta pa'rtl 


giFf, t9 bJWoar, tw honw and Quggy, th* ByB cowf, Iha 


FwrrKBT* F»adtun=lcinXeytt«rnAff.lgiflaiiC 


UUH eiplfeni UM 6f tfn ASSJGN ctfnmvd 


aMitl'jC mtottv^diFd;Oracunli 




HachwSJn aipiiinihswttwnff^gama ^achaf* 


fiugi kjvnw^ buf ItfnLxSaClCE^ 


tmiMAc cfics% Mft ttiirr^ptaa 


vMnaKfipC^anpKaWy.i.-tialllo9ahariii^vata.aldrf)la 


MeOlO guK»tlo tirtf;r^ i ^BOM m ^^ Ari^a 




AthXt BaTFMofSacATWd indwrtM 


aciMni, thf 'iHiarT]' program, to Lm irry itiian rto in fF 


Bongl kati«:&-ig 1 atffi.wfr\ aa«caMi(M*d, E 


CUCoiniTi.'vli gijdfllsus'^twCLI 


099rC HunKirvtaTV"*"^*^!)*^ 


(KM. 




Ccmmmdi tfnrkrgjdi%;i^9iDQS 


(li«plByc dud p4iy«M tanp4 


Ai^awtt^i 


reacae's, XLtiiLiiisn cedt, E 


OJconnincs 


lHd,e lAMW«r-p^ 


Cpngnnc 


Bnj»i2lBr corwra FF bai*i B an car, E 


EoCornirifTdi ^»fla**ED«;'a( 


IwamafLc: dd w^anpf tMrru" 


frOMiH vmrM Bm an i dv< uvf^ rrwja &£{] 


DaA f^!ha.!tKTw.^nda.^i>fraum.B 


Flfevwi AnigtDO&l*iM:«f«uc*d 


Qf**ix SMit ^ vsc-toi Bid Boat 








gbinamx pfa^c-aniyy utagtiF^AcCv 


tsrfi C f IM. S-E 


6B010flrr!irt&€-O 


HtfS^m npi^umgrifAcatfrpsmtcanda 


MbX mrUcn*«i*T{Mt3frtRKU 


tonEuc exEajTEn»«iij(flommiHdi 


KIhA marxhtwcfockiinddBBiivHiy.E 


nmatara 


■npuWvc fOdT^ an ^nptl hv4lv tt tv rpg; atwn 


tam Werttunch 5^ 


ifia t«9L-naalJi:^E 




JifffntLC ratdng twjaysldi 


POScratn [X?TflOumpa FUs?Mfief n^hi* icra»n»prifi»f 


Tn<«ea( Hjr«if>-t«aK)n|rto«<(T«rTW df*. 


nAWvkf tp( on KSng up your RAM: dM 


h^ e (tract hayuanl nading 


SaUUMiata saaiactfdiniagartfviEan. 


Elifenaa anoBw Enio. rnovooviHto 


nOMWKh bpc on uu>g ROKhVui 


LvyarlHC la]fV1«unipln 


i«nandcUdoix*&£ 


wrt pwatsng.se^ 


Swrtil wip^Jinrtan of Inyfymrt^wnonMnd 


moutpoftc »nmoijwpon 


SiMndM mausMnPAnrititf aCLIpKflora/n 


Ufat tairti.MiijwtwutTii 


Watymat 


umiiix. 


tAJiunOar VyoFWWKSi&C 




SpMd ]«^jk^on of Afriga 1 CPU mdCLfltttn dip afMd 


omfttLmm •a/npttolnribr^ytKjrgwnlinfywti Ltac* 


SmalCtodi t imi^ EAgrtH etodtn a xnlM m*\j Mr 




WittCf^s tpa on usog Wa* 


paraaale aciipwiMpaitafnfflBndi 







For PDS orders. Please use form on page 112 



Amazing Computing V3.4 © 1988 105 



tSE 

FreWCHy* 



<tocurri«(iUgninlCiri0aMambl«rioirc«lDrwitllngrAjrciwrn 
KnnM.intlllr4vtKingCtomBrTyb^lnity«M. VMnoLvriide 



HfiUoon, SC-O 
TtAI 
MO mihayoycMnUnmifri^nrlinHrftn^wIti 

{JnnjrwTtilci'n tn) a h-m ■dwmafc picu r 
AMCUSBifcU 
SBwrAJprogn-Tiifroni knUngCanpiAr^i^nuaf: 

OtnKi7^ CfruaurtindBifrogrBm, S-E-O 
Aniga Base pfogRLTib: 
SUA** FtBKJv bji T(fn J30« 
FF&utfi2B0e Cy U'« SHtngsf 

OOSHfipv WiKlgnwlNtpiyttmlvai 

CQT'RIftJl.S-E-O 
PETrmi frtntfiMFCTASCIIflMb ASCII 

CSqutnd Gnphapn^amfiomSaBntrk 

Amflnc«n.SBpC66,&€0 
(tH flcUs or lemows carnagi rehmt Irarr Hist, 

S-E-D 

wi ctipy poKsan, E^ 

i^jo^WB tthKYHorNa>iuTt4i4Br rvVnfipBl 

vc yipCalietypt n yMi tf mt rwrriMnKiffof. 

E-0 

rijtfvr gMljAE-O 

Ong, Sfrotn^ yBBofig. Zoing uo Epns-Oasad 

BoingI i:^ MvtH, 5-E-D 

CtCtodi, aOiKk, *aad( 1J« mndow bordnr docki. S-E-D 

Tllrtl 

An midtcin long-pwanroa pfuiQor menori, tpi v\ nilurq 

b^JtMa elodd UMp»> Iff Uux* Pijri; in) wcDftimBnddoni gn 

can Lnkrtno* t-pm Ccmmgdorv-Anigi. 

Thi C p/oqttrAindviK 

^ 1 f M l^vAng Ut^, i^Ci CV1 pnnS ll«i sn 79 

badig'Q L/xi, ami wti tne rufnbtn Bid c!>n79i 

*A" ditpity»■d\J^of^•a!^d«■Joc^W 

onidik. 

'Ajl^ qjMlw^tiriteieuM'lla, r•unl■^ 

•rrgr okJb b COiTS-gl tw vwcutwi' in 

"Satt wfltretdutftiflnsfAfTi^jiOQfi 

Vtita'cUfTimird. 
DcsgIw' ranioTi-dat disohv clsrodt^ili)ri FF pctra 

PopClC irw5i*nBwCU"indMrftfrBprflB9i 

l>it«iKUtiUi prognma Indudc 



ixplllilt WwlD mad fincton k«i)rs 
(ran Am^Bosc 

emiant rvw S wi iM gima hachaf' 
guOfl b ir^s:3'r^ 1 66010 ii yj An-->gi 
nndrtg es:a^ fBcwancai b ysLri pnntBr 
ipi on get£.ng 1^ your lanLO-eeq JVC* lb 
lincf Traiihmv progrtmi siit mrti 



HaMD<Sln 

lefiaQIO 

Pwrnirrip 

SartjpTip 

XtmrRBvivw 

PrintH Drlnn: 

Prnfer cTPw* lor tv Cwn PJ-1 DM A. tti C toh Prenntor, vi 

imarowd Epnn dnwf tf»t aliniLnaBi srtakln^ tw Epion 

L<>«a0.twaamlNSa/'1a.nt£C»2S^VwClua■ttlML■ 

fl£. *w Pmnonic KX-PlOw tmily. and trw ^fli-CwBra 

O30D, nirt i4«LirTwnt dssTibng the insUkcnn prooao. 

AMClflDlrtlO hltiuntmiduridtoniai 

ThtLi ai i»i>dft«rT(l«Tvo.crCLJlW R) mirr/iJwlflrt h 

tuu g.<il&r, t Mnk, i catlApe. i ar huA divM. new aift 

■ v^m imnoT ttwi, pKiQ« tfur^ p^ t pp* Di^an, i 
RhadH piaio, i ucaptun*. i vtv, i am oum. t asul 
dniffl, baR>. ■ vibroptufa. »vb!n. ■ wing pi^tv. a h^n 
wHrny, tnd a whrts. 

CpTDgramt 

divt Inijilen-bued, CLIrapficamMit nvanagsT 

S-E 
epri ihowitnda^iskpwi^DtCLI 

fVACKH^S-E 
pt (homrrbanCUpraaBnai, S-f 

vOlBi d-ipCiyi:CQrTiDunr>«AL£p<t;.S€ 

A/ri9tBiKpn>7tfni 



panxM 


peinw tnd iprnB Bdur pra$F vn 


gpSmiz* 


qpCmuBtort « «rrpi« figm AC (TWb 


crtwioif 


iHii^ awrttiEBd aivniv, diff nj 




diBbookpfogrim 


tmortM 


lOMiaraortzaSofti 


lyunsace 


convBTi! ami] FF trv^w% to AmigaBfw 




BOeOflJECTS 


tm 


dra* urti plaif m^iiJarfBi 


M(«1 


tJraMH^tMftajrwi 


nidili 


rrtfLaroryfWifier 


imlWk 


TKkng na 1^9 1 rt pi^an 


mhUmOO 


3D s'apr^ts ^a^-m, (ram A C™ arWa 


nouHna 


rrwM 7«rtng vonpit in hunrrwM 


M 


BSl Piitf^ne jara 


iCWtu 


tfWCLTK 


IWUl 


pa:;i7ni(o4iie9sm4 


iwrd 


rrakH nrano* Hunds 


Ettojtibia pnytm 


q> 


unii^iiwcopycommrTl.E 


di 


•cr»fficlMr,&E 


(fl 


u^^ifca e^M.^ tcibf vm Wiff 




CHJiput to ix f 9« 


rm 


chM rccordv ptffvmtnoH hdcesf 


AiMAItlv flt^sni 


di 


■own ciar md CLI rgirwrtnumpii 


U«Ul-2 




nil 


mcr/i-^-wttffl ^«yKidatia 


cnoconwi 




fo* 


6(Whah(uicrd* Jiigpnthn funpl* 


fcuVB 


12snp[mafjrtiasprawHhHf Anilyn 


T7»»«s1au 


pngftif\M h« thttraad Cflmm«Jis»64 




Swp Bid Now Room graphesto FF tarrriL GMngtfw 


On fr«n yftj 


Ch&A u your Amiga II » han) pan. 


AMCiraaiKii 


EaKUBMpfV^vni 


tM 


•iknCcafr^fMti* kritf. butfatw. EC 


dw 


^nitnadiktii d*dMn*n.EO 


•ptdnivt 


ttndaFpKJn WDng* to PAn ^m irmi E-C 


tfBM>f 


Mw ^-»! F*™'" t"'WW*JJ*'**"W. ^-0 


•IMU. 


«l ihB Ime, EC 


URMM 


unW»M a lie, E-D 


cwipMhm 






h»gh tes pKTl/es t FF, E-D 


Miud 


manu ed^f pf aducaa C ad» fw 




m*nAE-D 


?«* 


<}lhA d^-tKlitt nbCM oapiv. E-D 


qutHM 






pratartwvE-D 


MOU 


owns «J arictfu torn Uoawninf^ 


Cpivgrimi 




■pro 





popdi cmanewCLIitOvprenoli 

bunan.lika&dskicK&E-D 

trq^rrto VSpnVeui^ptecKtotrDni 

Commodiye. S-E-D 

An«gaBa& Anifi Base bdlaGn board prog^S-D 

AHfrnb<*> prpgrvna 

nvJD ni«kwitartok!ili1«StvTr« 

intti,S-E-0 

Ptotnt 

UairtiMmdaferot SOvwuofUnMlntiit 



RstHt 
Talk 



irobotm ^ribtii'ig »cy(n*r 



Amiga wfi^ort, ritmn, aSdrnws 
canfto ItzaibMrtrCirdcomernvy board* 

dnduM crH»r«lBrftnc«sCijxlud«Mi 

mindwiliv durttapitaj^ngMganawal 
Kii(f«N]iN fnikayajroNvnBtdaifioMfrwnthv 

KMwlDacopaaik 
Al*CUSDhkl3 
AnN^ Bific crogrant 

HvArm itm Card^ Sehepprw ct C&U Toch Support b 
naaandaipiayFFpic^'«lTvr Amig»B«>c. W^idocv- 
martaian. AaA rduopd is • pr:^tm u do iassn prriHin 
Amqa B»c md ^e n»wi: BMAP Hm, wn t en r«ciH Con- 
vanFD progrinv. WUh axampta pidu>aa, and tn SawLfiU 

HMmi la load ani pify FiAioGound nl IT aomd ^lea 
from Amiai BaK by Jphn Fflwfl f* fviiM Vttitmt Wti 



ftm' 






prirnardrw b aHact print ityia* 


OtkCaf 






WsaoUiAfim 


T'Sourd* 


SunHiJS hdjSrai^UmpM EDund 




editor* wmrdof 


■tafiTiAflr- 


mil(M CO PB b r m Ht proy am 1 


ffidrit- 


d>tMSQ«ai^ac±aitBaEapaBnl mcuntah 




icapai. 


'aOBraaJowf 


30 B'aiiai, «» br*«wi n a ntw drwtun 


■AmfliHflntti' 


dtfJtrtLncFfopariefaa, 


fnamoryu*. 


:nu, dwK» and porti nuH. 


'Cpa:ioroid(' 


varpon jt '■(torgd^ bi t» Am^a. 


^12Dm- 


rvQ'h rauiLTlsn {r*IP^ci oamo wfitoi 




m Modular 


Ttilz: 




'ansttrf 


nrpiains ffKfpQ nquancn tw CON: 



ttavca raspond s ID. 
TKe/ irduMaiaffiplaBfermikn(fpfl|iarto 

v^ in iht t ly n tw top «( ht An q I 

kaytoird. 
•Spwm' pr»granmar"»doeijmaT{*8fnC5mmjdor» 

AfTh^a, daacnta nari to ua> tw AfTS iga^ m uttlutar^ (^Mb HM 
in jfld Mn pra^ant. 
ApilpiBadc prpgrana: 

TSrkb' d-awULndwBvaformt.avJhaar^wrti^ayad 

lighf a M(»n of iha Tran ligrrtcyda vctM Qano: 

UgaSol' ■ ganw ol tOEittrv. 

'SatU:' prDgrpm tDHiciLtafe' bating rvmet 

Vontf '^ b grab all tfia btgi 9f rnonay tiatyou can.' 

AM KXIS 1 5 alio I nd idM tHO baajliU FF (MCtj m^ «f na ananry 
waKari ^pm fraqfrfatalin Star Wgi.a^ipctJ'agfa iJ *■ ! # ! , 
AMaJBDIitll 

VjQffar* dan«eyEncGntha.'n.anbo!)L>egl«r bouncftg 

^^a^ mnorad ba^i*. wt rum isfiacs Twan!y-toM Vamw of 
HAM vunaton Brefipptfqii'd^YtaprDdLifa titmiQfl. Yau 
tcmS'si na ipaad d 4« yjOSi-"^ Tha kjfnor^ doojnaiiiurL 
tinfe tw.tii pogr am might DfneAyba araitt'fl Bi praduc:. 
FFpletjraa 
pandwa ol Iha cowra iil Jivn^WtirUanJ Amazrng Compulng 

magaznac. 
Cpfograma: 

Vi(H/!handar' anvrifMalmAJnganlriputhandtof. 
T^taZupa" liraryfikaaditng prolan 

SnowfWif diffayf FF pictrra; and pnro fl. 
"Gan' profternindBjetitYJrcrwiaaC 

ttircm anfi raittlat tiedarad in 

Tb AnT-iga hdudB f4e cyrDm. 
ExacutaUa Prog ram a: 
TixHunltZ pap«riana«a'ttb>aprogranlha^acpandKl 



Yra2Mt/if canvartaMmacS&jdiafltiu FFstandani 

^MUS'fwmit. Ihavefwvci?i«p'07amriigm 
havfl ilsH bugi^ aspecaiy in ivgtrdi b vary 
I'Qingaanp.^Q'HOiluinmDrtCaBaa. 
AniqtvarunirilhB''MBii»Cvnfnan(f 
vidadgflffla. 



ThadiAtlaa nnkini ittwalflaa of aeanarioahr Auriga Flif^t 
SfnJturlL Bypu9ngw)ao1VttHaawnF.lamcnablar«dlK 
and iraanng ilin,tTa*rva edof perfii"::^rgfl spaoal ojflinanil n 
tvig&Tifl, BrMnba'0tir<b«Eng3Dca=i]rxavprofi*iJfna M 
BghtSii-jSt^prog-aT.. Hiuir\pe.'X*aammopwtmt.y3ur 
pfan«onA«cietl.i*iii«ii*oipytjyaj r Cant*! Parit 

Tategnniirdalant dnh wtur ccmiins hl bminal pro^ama 
'Cemm' V1.S3 »m pr^ m>i4i Xmaetarn. WXmodain. 
'Alarm* V7S torn prog, indudaa Supw JCeffTHI 
'VT-iCM'V^.e Da^WKiWaVT-IH emjIHorMlh 

XrHxJtfn.Kflfmit, and scr.pang 
'An^lga Kafmr V4D(au1 pari of 4« Urix C-Kvmit 
VrtK' Viai TaWranp grapfiaiBrminaf amditor 

bavd an tia VT^IOQ pn^ V2J »d can^&ni 

latoat Wc^ flia canprsmcn 
'^i9aH»ar' VO,t tir Corrpuiarw. hdudti RLE 

^iphcs tblMa & Ct&6 V* mnatir prMoco. 
"B^^Hu^h' aipanaion manorynBa n; ^ 

Tt:^' vT.g wi garbagt dvrasbf* ^hti 

madam raoMwd flat 
Txf Dtva toiT tm tqm vthm sysfeni 

to ba read by ttH Aniga EC 
'al&fivfi' feiaeuiaa&tovdrefonfaruaiwttimari 

axpannn arMein ACvZ_1 
'■c' fJadtKxrnffrAbonardabaaetjitarial 

tf>iin 'arcing fi Mm 
'argV brinBlciang'arc'1tteE.C. 

*i«annatii 

Logo Am^i wrawi <a\ tM popdaumpulir 

la^aQa, ttti bar^pto program^ E-D 
TwTart Dang waraaiMthalVTart 

divacbr garefibr 
PaeeSaaar FraaiydKnau^aM'WrsonsDftvufidaM 

PagePnnt and PageFF progra-ii lor tha 

P*(»Se':iaf dashtijp pubiiriif^ pDckajja. 
FulfWrifow Raasi wf KJ windo* utrig only 

a.leornniMida.E-D 
UWd W)¥Wionp* Conway^ LFE 

profgram, E-D 
DaUiiJt CLI Jih^ b fa-aswjn a naw 

WvUMndidiii(,&f-D 
Criandv.MG LoL»<arr;p£biaiaortitfwt?«: ma^tBi 

ctiffxtan 
SeiKay Dar^oatkayUardkeyra- 

pioljTapimflr, Hrfh FF picLre ti 

maKa Fjnclon kay la&dt^ E-D 
VPQ ^^^dvopaltomgineratcrfpr 

ritgning rnonrtD'n, E-D 
W^IOC Hawtab^aiKArdHiieciki/laur. E-D 

SatPAll OaigB tia Pfslanncaa aatingi 

ontwfly, rC, S€-0 
StarFVoba F^agran tLidastialt;r«valutor^ 

C mtsab mckided br AriJga arc 

W&OO&S^-D 
RCfT C Karswi of Cofifl Fianch*! 

AmxjaBaac ROT progrmin brirr 

Amaer^Cflmpuflng. FCTadflll 

and dtf^jiyt poiygo'v to craab 

tiratd-rrwtBonaiobjaai. U|ptt 

24fiamH0(ahftiat4ncan ba 

>craalKI»nd4FF)liy«d. E-0 
Scat Lika ^, MKtoivs on smtn nn 

BM|f troffl l^a mause, E-D 
DK Cacaya'tvaiwincbwtodua!: 

m MMkit ^ S-E-D 
Ckop9w1o«i2 AddilayatadtnadONtb 

WmEwidiwndraa^ E-0 
A*aCl«DbfcA < 

^ a d A cam* iiaiw it pr !»i/ am t t^Tfi An azT^ Cor- puTtng . Tha 
FF piarm on tia d W md lxJ« T0 A.T 19a Wt Kt pan T-irin I ego, 
aaaban-ealornkaiLTiagaofAncrf GriffrDi, a.-vJ'SivAm'gaL'vvl 
pdunt fiom t» Amairg Sbref Bpaod« that **b«J the 
Amiga. 
Sotva LnearaqLtilonsofwinasaffmbly 

la^aga. S-e-D 
Gadgats ^Tan CaSay^ Am gaQautakfirnri, 

HouBhokl &y«n C«^> An<gaBaf« 

tVuaahM mvartsry pcogrim, S-Q 
Wantomi J-m G^•aeE' Wtyt^vr-. WtArtpEtauc. &0 

QALtP JBtinKai^'^'iA-fi^jBaMdtk 

lb man prpgrant, S-O 
Sjbacnptt HtfanSmiSn'tAnngBBdCBjtiKfipt 

aienifja, &0 
Strrng, Bbotaan C[7ogrami atfaxacubUamfgr 

HwTvt I4fyb<ck Tsliyli hbAbn 

libr>alt, S-E-0 
ShnnyC EkbFbarfwaria'aaiam^ter 

miM^ anifl Cpra^ami, S-E-0 
OCUALh IW[tCi«okiikaCt]U«LrMBarf^kt 

EmaeaKiy MafmEmacafineonkay 

drlnlom by Grsg Oauglaa. &-0 
AJybnl.1 &i«opDriByvb<TirsBDLn>uGa,E-0 

BTE Bafd^ Tim ena'acbr edar, E-D 

Sjb (XIpr^grans^mntwBZBQia 

gvn wK trf Wm, E-D 
Wn&» <Xlmri0ovrut;>rrf rvBlsicirrarTt 

wndmv. S-E-D 

AMcuaDc*ai 

CoDpactor, DKsdar&tovaMchd AmigtBascboii^ S-D 
fiobEd see bvl apraaadbi iwiaanin C,S-E-0 

SpnbUaikdl Spnb odi^ and inimfiir by Brad IIm^. E-0 
BjtLato B^tto^chpaip'oriCon C prog'sii 

OyTarntaRoiuiAj^&E-D 
FPic hi«^prgca«ngpr»7ari byBcbBut^lcadi 

aid tvm FF imagas, d^igas twn iwith 

lava-a litfvnquei, E-D 
Ban4i ComitoD hoTii barling prggran, 

balans your diatiibo ok! E -D 
cara CantdMMmadan^aprogrtmwihbjfiportifg 

fnacro 'Krlr»t. 
fmntp CreabatkiiualdagranialtFaonaniory 

rputdav aajTipla npulhandsi. Irapa ha]rar 

mouH ewflfTB 



paraiMI 
pnntor 

print Support 
pnK*(i 

regior 
umpls'oni 

crgbRiy^Vd 



ShpHahmrbaatifiriagimapartdBvic* t» 
ajoyaU*. 

dani on ui BBi dracicsmiTKfbca- 
lona w&^ ra kayCnaid. 
Shma UBf trf r» liyvn iSyiry 
FF linoat»otp^a-i 
nook! Lfi rsuat to rgtitpyite* port 
CD nao^ wkIow d»T 

OwnanCfiai BcoBntoffwparanaipoi 

iipam ng ml u a n*f; in» pmbr, doat a acrasn 

dWTipinotwortjfigi 

Prrtor ■jppartroutjneii.ngt wr*ll-ng. 

nmpla procancraaHoncodo, rot nvarlung 

damn splt^taMing ragio^s 

ta^^p^* for: wti r*o on Festng y«jp owl 

Damwinawnalport 

CwBi 320 ■ 200 piayf«d 

labMMraan at aibifnecti do^g 

pntpt^ WMn of tpaadnsy, tUti D 



tet.d>ma daplayf araiaUa lonii 

anw 4amaa1rw.dwicauBS 

tiBdidiA damu Titedi^ drivaf 

AHCU3D<ak21 

Targat UikaseadimDUiadidtsoundikaa 

{^ihg;&E-D 
Swvi &mpi*gapi«<rfBiraJ tiiiblliMtlhf 

mogs poffW, EO 
PrnpOad^al Haf>«tUc]rtBdi Tgty^ proporton^ 

5aogaiair-;^S^ 
Ehfi Oadii^aaaiiyob^hivtetrt-liair-bi^t 

7aphci, S-E-D 
F>iarD Stmpt ptino tound pro^'a-n 

CafSoipta Uacaa oaf anmaion Bcr?pB for IM91 

Arunalar, n AmiQaBasc 

ThJididchataiaetranecaUdgtfDr AUICUSdi^i to 20 

andFi^d#ciibfiO. T>>ay arawMd wth 1^a D«kC« 

onytm. inducM hfrfa. 

AHCgaPHkH 

Qfdaa LTiIcydagama . E-0 

Show_Pmtl V«w ax) p^nH FF ftawn. rnfluoang 

b^ !ra/i Bow>n 
PrO\<jenZ3 Ltkriwraonotifr.-rbrtfivergenerrDF 
A.-irTTBton; \Ada4$capa anfmaana trf plaws and 

baogbHl 
Garden Uawa tadai girdafvcapes 

Bat^eSorb EurrFMiof bnarytoofchand rmig-i 

■on in AmigaBatf 
AHCUSm^fcM 

An AMCUS d4)( conpiebV dedcabd b n^usc on tia 
Amiga, liudakeodtaifiaiiigrnuac 
ti^fyn. aongi, dmsumant^ aid pli)i*ri b 
brng Bia trf of paying ^ Sd'JKf on 
yotr Amga 

hw w nan a aeotiacl0Acrf2Sinmm«ni|itaFpltyln^ 
ari oaafing iTUjfic Thacflibctonrv^t 
Iwm Cannon b Maimba 

LJit NSm program u littvw tmtrjrnvna PMC$ wil 

roi loacf ai nat aa Ixtfiaorij^nB^any 

rirtvTwn. 

tkjvc a cDtkKticni jt U Qasacal piacaa 

laiSOwnun Tna 1S tntiM dataca tostura mm^iiafe 
Mti Canranl 

Thn* Amiga IiIubc Pbyafc 
SIAJSPay 
IMioCratSSMUS 
UwcautfoZSMUS 

AMCUgPiakM 

SaccrarriB Ad* HCUiadStf bfanjiAnigaODSfa- 
ttructjiad dwsoa, racgwar tea tnsm a 
taa^ad hard da*. By Oaind Jtxrw q1 
hkroHiAona 

bontZB FbducaatWKizaotFFfnaQac, 

companion progiam. Recalw.JWi ipl the 
pai0tto ntortgif ona pidmb uaatha 
pflfaiBcotortof inoVw. litingthaaa 
prog/a/^tirti a tool b carvail FF 
b'uihoitoWa'Vtja'ncftjcbni, makaioara 
to«<t lu m>j^iu>H atria p>»j«a. 

CodaOama Uodiia-? program cQnw*i anambtar 
vtjfieS flt> t> irfira CODS cxafnana 
CoT^aawrn a Kmt/\ laa^inj aiB.*r.^ 

AmiB^s WariibarvtiruAmakaitiaEamalywalic 

acrcB tva aaaan al 'irtjom imsrvilii 
CVwwaa, mnnpieWyhim'iats. 

BNToda T>vt«tKam|][aaoiaaaafnbf]rlanguags 

Coda froYi Brya NaabiS: 
I, Sa(ljca.prog b aN%«^inbfJacaonAcr1 
Z Why. rapbca ArmgdXJS ai Wry 
3. Loadit p^ u ioad a fid inS: mamo'^ 
tmi a latwt p^ty fw mec esobrc 
hadwtwii Ind Uaditu«iil.| 

Uonolas CUprs^ar 'aaauPrei'rancBstmvarg 

CPtQrigtirgrpchrorne&inbf^SCB cnvix. 
C iome H r^ikxbd. mhu wVi 
Dip^yPraf, a CL\ prolan wfkh dipfayi 
tw cuTBTTt P'aW^rrac Wtlnga. 

BotngUpdiha A rar-tracad anmotion of ■ parpvlual 
moion E^ng-nibXing (nachijw, incbdai 
tw tam wftion oftha KtoMpngran. 
wtvcfii hai Tv abhty to piajr uundf tigng 
•rfl tit ifrnuon. By Kan Oftef 

Dasy Exanpta of unng na n.'daar and 

narrabrbavcaatomawthaAnigabril^ I 
aiwiQen r C, 

OLKkAi S(r>pt^yh«rtnmatonar>dsiida«wi 

p-ogijn ftp! Ctou^ FF imagat. 

BUon Syrtammgntgi AnqaSatcprogram; 

parlorrT] iri;Mir.in(pulBlan9o1man^ofy. 
IfcOaa Random badtgrobnjpiogran, a amill 

wndM opans witi a moosa reeen^blang 

BiJtHinHHMBirmg MQy ptvsses uaef 

dafriiUa. 



106 Amazing Computing V3.4 © 1988 



For PDS orders. Please use form on page 112 



KaySrd 



VMifm 






KMpl.l 



KB.tetfi 



Docs MuiadrxvyCenfrkictviStMLnipia 

hiHan-buat] fmg ia ■nsmbing uid 
prrrSng t qf^evy lis. 

lul txpiBniSan cl 9m ytrjt codt ti 

mcora prsgrLTt erem Isr tw vrjt r 
m«R4ry. itfKh eouU fitaei 4tw dikL 

*»CV9Dlifc?3 

l>tan*at Orapf.a darns pvu Utou^ ■pocs 

lowtJOtTB rnythctf (ivXtwn ffftv tun 

ptt:fw>taV«ICGKibuidt< Fiy *rt^>gi 
lOOO hK^fsn M^o laal comfartnUai 
pirtchng ■ dote h hflaadsdmBl, Xidiniy 
oUv'i tpg ch«nc4 to aulwnitictiv 4o »n 
ADOMEM tof Qis axpviflcin nwmorY, as 
wdl uihatiNtr/tachang«inopajn«( 
B^'kiRBftWshibench'hand. Aprogrsm 
li itta lid^^dea !» resurlrrg Tfit^rrecl 

BASC p^ag Ma k0)rnt9a, iduct irw 
WorUSentfi itay-MfM or 7BBfe]nLC swn 
UO()**#trw Wa-hnarwi n traa lift»n»t 
■n LAod, ctTii cm lMwv«^'^€9iori, 
knttta ol bi/, e^KBty para «.■« 
ndjdKl Pjbicaomui progn.- 'a^cdn* 
ftfT)rjihScorb"«m»f3*77:t-Ml3' f¥ 
itrjifut to CDHs, 3 UB Ca jJBfi Psnt b 
rniM itami fat rs ^«w WvitsencrL 
Csrwri trjtn« t3 cars [iuLT (toes). 
Qn^niig pioQ ittet [i,^ viutt ittn i Mi 
arri d (p ijri 3vn on tv Krnn. ■Ritiv Id 
n HTWivTiiBd U'u prolan. 
Uvitegs-rrift^i^T^ pftt^i.'? b: iMeam- 
mLJ^uto'Q, ^adfoj nifl maaiagnfrqnl 

'unMrn.ndi n nesAafe farr;;!! of ta 
riKEtr: d nnmu &rt) uvadl Typu ef 
Wl»ln twttl Bifwara, Uawttrgyflh tw 

&PMCI 14) tf "KUrgr ■aaK.fKTHMi 

earr^nieiiintnTt,i±an iteul t« INi, w>l 

Qi-wsMy. byCLI^nt^ajtwi 
1>* iKiWB pegtin ehirg« mbmhti nwiK* ird rm- 

mr* (wc«3 ta rtbOK itier cnangjig 
Pirtrancesa m tTBrtiatf scraon. TNi 
praf rain l^pi bn'iMBen the nomil n) 
*x»no«d tcrMP he^ta. 
A «iirtw» uli^r igr PFcWrrto lovi^ 
chi-'^n fna^gmenngtindtant^n^H. 
A CU pro-am, pt^ntt out probatM dviH 
br Qjru rwiiti'arri; C uuice indudad, 
LitaittrDnl SobwrtDA!^, Ffim^wt 
t]m tgm diFQcferiQi oftfsKdrwt, mutfi 

MBiinel:tida:at»» 
Msrmn Dftxf! tinrtCS^Mn PMMJt 
Snort UMj^a-Zsa^afni r^wwVi* 
WoriCMnai KWi irQi,in4 afMr i ptnod Cl 

In*. pfTwia Twvtoi (x/n-gi 

AWCUSmtkM 

Teov Fay't SAL'dSapa rfWJteaaiVan ha Arr.acrg 
CoTjputnj alDB*. ThtKurwtaEira. 
Cti>ti,TX. and VU s n6LX9M. T>» 
Leso w Man C Buret raM rt rwt, 
Dong l«ri 7» bje^'^AJa rr-odubt. 

C, loaSt & W4I C csdB mwicy. 
Updaaot pr»9 b earrwA^ FF iTigai 19 
PflttScnplfta»hrpnn)ng gnlusr pt^nlKI 
Hard diBc I>ic4j|] prog nm Larrtpd-Ziv 
afiiprKS:an.to taduea iha f«cMxr|r 
nu^'oafdldttiu. 

PmtEirrfama&on at»btta,S;i arc 
prccm»t in Sv lyiwn; ascmUar 
aa^rotitiYJuoad. 

Lan a Lncton k«y Kt bh* a nipd lartH d 
W! ri9i,aa Iwtlor *i*nla, 
AhaMypo^-mhv paoptewhai^f»«ji 
An^ IQSOS iMinchdflwasn 
AniigaDOS lappy. A V/orkJiwncnpAQram 
fiat wnds I DakChA.n^ n^rvJ b r« 

'a*kicriang6tf(3:'g»r aifl o»r again.^ 
dot on tne car. C bducb nduMd 
SytttmmiT^ FHtfflaUiie««^aOcobnn»M^D'lnl 
mSTfScrW^'iws'O proonsv. 
Z pogrcri 1} nivt i^t Scf tKii*i apafiing 
aiasr\irttn!xi tart Iha RAM {!*(, 
ATtJjwn fcrt ft« rtd j>w friB Giiming> 
Fog. Fkfltfi, and K»nad incksi moi 
mMlui* naadatht^. 
Modbfa-2 preQun u dtipt^ rrtaneiy 
iKawu Hi hexadBQjtisL 
Arr^iBiK; E^mgn Tartan piatdc 
DOt atik>9 ptQ^tnt 
pifjn 8SVX affipM meruit n tw 
rm^^Tti wtvt nmaihr^ «» n 
Npptnng <n t« Amga, aa yatf Amgi t) 

CU p'oscapi tfwiQK your poiTBr ti I 



PW_U|I:V 

Ouru 



OMW^ 



Smw 

Safasaittitt 
[}«ft 



kfr.ig»UiMr 



CJU2 



£0eK)U9 



TCB 



Fun Bui 



DC 



DckiRin 



Lvol 



HkC^P 



Tanan 



Snovft 



F(W fhH Piihtk Do/nain Software 



Fr»JTT«hait1; 



cMrtui 



arp^anrrn me- 

b#l Br>«U'BS<inD''t«'>)na«chnf|Hr'i*ttbih 

efilr«W9'Vt»*tf dn*. 

A rnifl 'pftir' ijipa prugrvn wti Im, 

gKl Jonn[>ipar^Qid^Utciiit pregrafM 

gtvTWfn Orip'iicil nvmary UBogiidg^iityTOf. 

h«flDr« dafrgnARlii iBitll-Wt-friW' maMt 

tfyouhantt 
hdio vmplf Mndwdflmo 

latftp aaoaatng lh« MobroliFBtl Roatrg 

Pgrliibra^VomC 
paMtka Eitm|Mprag.lad«Gfnca'vpalaaaB. 

tradili*; Dvrennabi uh gf the TcMiK t^nv. 

nH^Mnrt John Dnpf^ nq^KMr Ltonar anJ 

•larriplaprJiym. 
ipMCti Sfln^r^ apMCfi dvne pregrn. 

ip >a eh» y Antfw apaaefl Oano progiw?. 

aU) O^KtTT^riuOitnrma 

ee Uu4kc Iremnd lor Ucsca C 



4bug 



AAUCUSnatohBtteo^baanaimauaspOrin C 



Macro buvd C Oahf^^ prtLagt. 
U«efww indiiotndvt. 

rnaM Sy6*fto!l>ti rr.ik»conT(nft 

mriwZ Afio4«f maka LbivicDTrnand. 

mcTMinaei Sfi^arvw«ona4*rtflctaerW,wCi 

portar Porat/i* * « ari^n«r. 

uf DECUSCcfMarttawwiuHly. 

Fj^dFhhM.H: 

fiOflic (5offiic(grnt>annirpnntor. 

rol A 'roT tfpt todlofTTMlv. 

ft Art^!attliilh}iwaav 

LrUiTi A ru^^ pori^Cw faffi rr ^iar^ vr^ite r\ 

lofto'gaod'Vi^ 
it'ip XljaplArvtwertngasncffy. 

fndnihOIU4: 

banrw Phnta honaRU banw 

bgr*p A BofW-Uoort Qn^*ia Mtf 

batHi CHUUrun^acvTwnyaod.fWt 

bm Arer7«rBa]v-l4MWfrap-fteuBNY 

gip DECUSgivp 

Itvmrt ■pnpttpeftaUtKarrnrtwrinaconnac! 

maM 
UyCU nafyKananldltgrVwArtiga. V.1.0 

mprdai A MkanM'tfot itf pro^nam, tjy Robart 

Fw«i VKl RJ Mai 

FmnahDum 

cana Conrolvftpnoaclvro program vati 

iU)po<1"0 '"Kro routrtec. 

Irwrtp CrH*a av!ajaf dagram ef Ha mamory 

rfiputiMr wT^mputhandv, trapaliiyermeuB 

vwro 
layittt ShOMNnitaaatupthBgam^art 

dvwvaaajojrfia. 
ktyDoarC darrwiffiM-itnclcsfflnncaion 

lairwi aicMauw9( twinjmibwy 

n«i««r9{ Ff UanMbral pq/a-T 

Dna.MnotM onrMwiVowdana 

paraM DamonenRacorabtiapmMpDt 

pmiv Dpvirg LIS wangnterrw.dHaa 

■snan aunA notwortong 

pmiiLWOrt PnririupportfBiAn«.not»irtiny. 

procftft avn>a prttoau ovaHn cada, not 

Hffiu'ig 

jv^en ffmgc ipii Gkavjig rtgiora 

Mm;l9tant ftnniM tont Hti rfoonmav^yigurMr 

MTiaf DaniH t^ tani fun 

ariglaflayUd Oaaka 32Di 200 piayiteid 

tpaachtojr ltMtw»na1cuBipHChd»fflo 

■paiBcinJamfl ■mpd'lad wnon o1 waacflioji. *« D 



dadc 
fflcrotniaci 



mult 



toildamo dipi#rian4tiMh!fiti 

BTwr dn«nH imtfiWnea uh 

tradiliM aamMTa>ed'*kdnwr 

FftdFUhnatfr 

am praas i h* lUruii ffi/fprnt, i tkg X|i,MW 

aniilog d»A Lfflpamnasx 
L^acM «non of IT icrowmact ^rvn 

wnovH muA^ ocQjnng ttm m itn 
damw ucing toun^ «id kdo hjnclom 
Anew* dian^ng pwiT-ai pert paramaian 
AJlBW* trtf^i-^ Mnai pcrtpanma^t. 
^lekaijtl basd igr^pragri/ri, n C 
Swpi commarti tni nrtra 
■tfYiHpioa h)^ C Ktirc* 

FfadFlahPakT: 

Thi d Ilk CDRtiiini n tMCiAAiaa of t* gan« Hac^i V 1J1.1. 

FrtdFkhOlrtt; 

Thid ft coram pwCiotfca toHachoftdWiT. 

Frarf Flih Pak t! 

ifi >rt Owx m4^ pacm m Uadt ard ii^tV 

Uourafi ^^(H Pratt fern, wpon 
VOO.BU A tfvjww ^non B^ 
POniH from FarrfcBB SyiBmi. 
a MMB pnwU «ct 'lerfunrig pragrvn 
Rofl Hiiggla ivartacvmpdv on anf oA 



aorc 
iripe 



u^p«mH 






M«tl 


arutx^ortivrrpadamg 




ririRtiinMa 1 


tavu 


^Mwg at Aa ^apTKH cWrw 




AfnpgaToAan 


conwn Amga ot^ c«j* b AiaA fenn 


FrtdFlthDM 


_li; 




DakSA 


pasfim » racow lloi from a naiad 


conqjeu 


j^ irtoiiwar aas«nn* wtulCMngaena 






ArrlgiCOSdtt. 


datw 


mrvar^ ■ Fvx !to b hrmrf 




Him 


■cMDf^ of ?a AA^aDCG «* ha«wg 


MtaD 


Pttr rwgram *;* ary ^fp» of It* 






inSjn 


tiab, 


Srp fana^a d9 Xmodan 

ranAnMbM. 




Ho 


HBlflu<rpt.1l>aiton-i>jw 
Lan^aga ragau^ aj)^l S6 


fl 


noutn>*V>rMdindwT«rff tMl«t*». 




Htnwanti 


UAioaAat c^r-w. wnnart 


U 


vrptadrKtorvpragran 




VUfTatfmg 


Tuair^ Lnd a3a.^pMa ID^ Eiae ta«4 


h 








rrjtflatng 




MMordng. n C 




Paa 


^pf wv9^eca iron c iou«ca 


■liJ*! 


iha a^jata and unaq-jaau 




Pertia^dai 


aaTpia Pon-Hapdw pfogf an tial 


rak73 


Sir TrW 9arr« 








ya** 


Ooagar*. 




RB*m 




RriRahBakH: 






or Coraaaantto, 


dpa^Kle 


didv row pTD^trr tor dj^jilng ff 




EalMoiMZ 


■A tia noma pan to right or lad 




imioaa wti mtaotf irwua actum 




SpaacfiTarm 


Itrmnri BnlJa3^^ wBl apaadi 


FrtdFtahOik!!: " 






catxblMo. moOan 


amtgaSd 


ShEM* a lotrtng Sdma^feonM a»lid 
'Afnigi(iQn'. 




T>E<I 


Dwno adibf jrarn Uoaanlti^ Chariia 
Haiti 


frfOTami 


afermrttl amulator program, t^nttn 




rrrtnuiaim 




inttaamtMH 




Iha la a copy olThomaaWtort MaodolBiil SitEiplofar 


vmvdd 


&icniaiotB!ing 3(imaiadnirviin 




di^ *^fy goDdl 




ttfti» tffam. 




p»iHa(inaa 


kH 








kwExac 






LniKS 


>«lon3.e»fDaiiMUannoB. For 




taa pra^ tar Luvfmg pngaHnWtfk 
bvncn prwan?y ony MEck* ur««( CU 






Uii V7. BSD 4.2, Amigi, U&DDS^ 
VMS, UaaaAr-salnCrmiapi 


SitAilWTUB 


IMm ■! C91 tf'M a Ma>nd L^naga 






caut Ira. Dacuv, t1sl>p li«a, nan. 




itfwidcMd orva 




Pwtaea 


BfAnJtPoM'O, Ma« *alraa ndrt 


SteTam 


krrtrv: anjau. »« ASCII KrMaffl. 
dajtr. rnav. 






<^T> ivya u Usta nayv mauaa 
ajoocr-. «s-arpr5rt|r.bacimpfi« 


PadFlahPiailS: 






wordanA fiiKSoniw^ 


A BurCM otSaic prografR^ ACuingt 




Frt<nniB*a 1 


jpm 


teyooi ««Mk 


nwiWjo' 


Dakefioum 


<v Itao&Ttaca. anval mriem br mail 


imsdtffl 


asisitft adebsM 


«gMra 


peoiitf eparali^^rtBfflionewoianJmafAamaa. Fef 


ror 


arr^wqi wmg^vpf 


Mni) 


paoMittspantlD|wlUcroEnmiot«rlwonla 


tuxo 


tint tnckout 


eamaa 


michna. 




mat 


orda ubrerdaa 


Caw 


fitjRWianmr 1 


S*H1 


a/|pMt dakdogOv 




Cwa. 




<ng»i 


oaH' i7)fT4nicsnaj^<a 




C*i 


bpJsB IS thtfl on Dik 1 1, wti tiill n 


Bzi 




iacU 






!-»)• 


gamoku dart 


n*ku 






want 


ha!i*y hunta«J 


muan 


HKUa-2 


A tTv^i^eaic wrson of tia pngia pan 


jjin 


lu miPdaJ 


iiwig 


UMila-2 oanpitv or^naiy ditwpHi b UadittO at 




nuuaa OMI* 


paUi 


UVZ, ThicQdainxIramrE^dtaViaWIQAaodla 


pani 


pnatiad gbomitafflordM 




■iaeu1odenr«JM4lOAi;«ngai9aeall4aAr. Eknary 


tactn* 


Fje igtM 


noxi 


any. 




HCNiVt* 


■Uraft •wla 


•iipaa 


F^IHatin^g 1 


Itl^^ 






GrapncHaA 




MUipU 


^Mtavt ^mi»fltmi\ 








«WlMUr 


nM mat 




Hen 


p»ra Of John Toatw. Oiff T* 


•<»l 


■ifX usafpO 


rf^dv 




Bucidtihix^nwit 


kA 


knnral 




Fiari Rah B^ g | 


knM 


Bff vpo^np^ 


frngt 


Urrta* 


F^ooamtTvArnga lunh' loadflai 


■tMll 


Miwi mDi^pw 




C<llac1ai)a.dn.indlw)iirkiegrtw, «Mt 


|nM: urrA^DfFtmtira Abnk; ma*t in frrigAiW. irV 


jnAwfuaJ ipaafcalo olcad^ data, axftm angina, anj 


>E3rn*pr9gFrnfwprf«anMinbo9ilmguiOM] 




garwaka bnary f b Mtri IwrniTranl rrnenloiUni *aOuf 


FridFWiOlikU: 






nigiM 


L^to 01 11 1 inckjdH C «wn* to t 




aquraB pfugraT to FfoA«Hoto<#a 'frwoffla' aujubta 




iill hi««i M^«» p^mevK «io 30 O'VlKt 




l»p 


Sows tor 1 tjnction ffntgvwiM t 




C-lu™i 


fTDQrwn tni htiw . 


OB 


oi^Kti kH tgm wtwi C nun* ilii 




Pa 


Ditpltf »rtl svtpocBD privitoi 


dnwvoni 


ao^ttirTrHKdJrwaontf {faciei 




Ms 




teup 


kv<m ii dikie, • Ik pun uwr 






toflflai Fi^ -niinQ pr pBiftng twn 


gfBTtn^ 


«di» a< dik 1 , 7I01C nwi wy u HQt 






aaaangiataunrt. 




MCSOr 




Fml Hah an IT | 


» 


egnwti rr tnji^ tW« 10 k*.4g« chxx n 


Aajamoa 


Amqa Buc darst; Ca-o^ Scfvppw. 




CMt 




HmCvrm^D matoa.O^acatontoflaa | 


WWm 


■Iip»«NSI¥riM »m/« BHUiBr. 
maOiSKivon 






lu adereaaai of vYf w-hi ta 
Ei9vw of fi» KTwi't utr.aa. 


VMfi 


rr^^ Una 131 ■ ei*e Wad 




Ma/arapi 


A L-tar a or (Teat3T ifx] ub of Dmapa. 


»ncw 


ToityL^ji cofflpetM ^ffna^ 




LoadUM 


taacs Ktj tf:s^Tt FF 1^ t>cK 




iffl$M''*Morv 




lead«£au 


ioa0si.-4dG>iaTtACQMt>CL 


FT^rWEAU; 




Samit^m 


OMK a «f*fl K7aan and ftrspa ?l » a 


SM 


rvna Ocno. Ua IMi y«>r 






gttptt** pnr-W. 


Oidi 


•npw dgM d«ii progrrn lim m tw 


Daaaan 


&rTiM6^n(»uuafpO»r. Rvadi 


DhM 


FMIypfotfl 






atatferrbeefwcadtpactO'^ Da« 


Hn 


douM Ojlkwt nquwn CIA 
trirroonofito 






iKSonaBreauTpadJnJiBL TbaaduaJ 
dsaBsn bof FouVM ar« M up u b« 


Uonopoty 


ArMJynjcsfflonafMlYgHTioitftHnin 
UuC. 






caiiBfifrom toBfpnjgioiPslnKtioni 


aWmCunp 


aun MUZ ftrw imf Wofnemi 






dynamiotly. By BN Rogari. 




■owl dufnp progriffl. 








A [I'Mng pngnm wibfl r Afa<v& 






[\crik kaytcartf It^t l>iK*(Iliut 


IH*rtKU(i 


A frKtil pny un wntot n >kMiC 






rduoad bacajsa immttf turpi«a ar* 


fTHWCmi; 






taw and fir tvtwn Qf Robart Burni 


AcDFnfMB copy 0f t» llOni dnstapw FT 4li( 




Hypoepioi* 


Spffl5rapti.twnF«.e4ByiiL 


FrK|fT,hp.,l1T; 




bnarilKii 


Eumpla of prapertaul gadgan to 


T>« NawTa« Og^Vvw Mdw d^sw HAM danw di* 






ioala&^wftllux 


FradFVahOli^ 


JL 




Ua«*j(wnOT 


Severn B&cs «id clrac»iia fei &i«king 


*nfga.at&^ 


Don* (rnuna progrn wtl HO. 
BiocVMbna 






j^Lf (hVi rofTWrfftw 1 Ug rrvrvy 
npa-ipaa. by Uo^it' FaHtf^ar. 


Atfi 


nortiMM C Sf^i !■•■ ifiol vv^Bfi. 




SM<«K 


Poflin B oao^ "rraJtaeO" ai,t 




fmj7. lOfiK "t 




SoinoaOnnoa 


CemtrtJubant) tsfaj ind t4t4il 


frgwr 


Mnl« a «!• m, diploro Hh. 11 
MBinmouH 






lm«.THirperbar«rdrKlAl 
wboijiapomcaicuiijonaand Qabaan 


ucsaoio 


doa on MnrcJng rcur Arr^t 10 UH I 






■a»ua pbtw. By Dwd Eada. 




uctaoH 




FiailRahnika 


IU«im 


rotntiji N dniwiBjyiii cbteMmiJoinBdi 


ABaacgiriaaby David Adcfeaor; aai^lqammon , Cnbbagt. 


RgLB&n 


SAY a.T^tre rill uki n P^ L«»n 




Uhemand Oltvili 


Soinpv 


ill 10"^ n^4 pr^Ttof 




C» 


DECUS tpp' C pwfXDcawr. I a mfldr«#(j 


»ipi.fi 


■eve*, ftn. an} ■Man tof a bap ««fprA 




te- ff* tnoii* aspyt Pa ^^ fw Mwu a 


Fr*dR»hDih1l: 




Bnaf 


Lht'CompattM tfit« anhnw. fv 


BadUiSi 








packjng ^Iti tv nvtf. 


Ja>UnarS*B 


9A« Of Jay Unar, Affl^ grapha tfiip 
oat.9W, sowing aoacfvi of ra Ifn^ 




B4«aU(i 


Ear^pia gt ucng a Soetljfm. cyncng 
dLr*nyftaa**ar» 


Karn'-pT^ 


he pfOTnt o H tv U)r 01 appmg n(Ar«« 


FlMRltLflMJI 


LsMUon 


Hno Uldoias Sa kickt lir prggrvra 




Aa(4&p« Cri □e.TVi po^n MttOLl an» vid rtg doA 




tiit«rtaa»ii«. 




ArviacDaria 


PltT« faf Ta Jb^I Mmato' fta 



For PDS orders. Please use form on page 112 



Amazing Computing V3.4 © 1988 107 



Ce 


Uni'Vkln>i;«tlfeiUiniC 


SardPttM 




Bn 


Dwno copy of BES-T Suaraaa 


Frarf Flrii P^ C 


enough 


Tan bi uttovB of fyviem 


SpoMIHur 




BCiLil 


UmigmantSyilBri. 

AW of Vi^ Bulaln B«id Systarrri 


Aaai^ 


RapiMfrwrtlwAri^tCIOS^iB^n' 
rarrrrard cTi C 


Rutik 


AnmiWftjBk^eubef«7«Ti 






0= 


C com piaf fronend 1 For Uani ei4 iaSa C 


Fridil 


UAkte randam fracW Hrrunt 


SSmgLb 
VlIM 


VT'lie BnnM rruMar niti Kuntind 


Tifldw 


Cfirwartt tny ditk tn^j te^ br 
■ftrtonc Inniniisofi. r^nsfVQs 


Coppar 

hEFF 


A hardanre co;^v l«t ditsssan bar 
ComrartiiiBtumanladafflOKOfldlla FF 


Poly, HAkf^ly Worttonrt-^pedomoalormrtinj 
Dofvaons n loraa xj^ HAU 




TriaopiJI 


•r^FV f |« ituccjrt. Snmmn by 
BfidWIion 


PopColoon 
SpniaOotk 


arvjiaisnnSt 

SmptodacM il Ifilf^ayed on a iprw 


Ml Sad! 

TtMOtO 


TflKmnxiOlO torminii wnultur 


(tont&on It yug rnd ffwir pngr*^ uhU, ta VMy un writo 




comm*rciil,wwpubfk:dwniia From 






VOrw 


VvKint V IS and 1.10 d 1 DtfbK* 


msm HhMri 






OHOCKd njDiU'Bon. 


STEmutUor 


Hin-Hf out Atari STamiJabr 




Pin^itBdtwnngprDgrHn 

Aag-s ArtrnAr 

Oeabf ronVTW oCTpU fw tku wlTi long 
n«m*^ BQ twf an b> H«^ VcW md 

UTi'an^fld, 


BBS 


■n Vi gi Bsic BBS ly Ewi Omtiun 

A/niQiin 

•dIfdntl,brTmnatiniDn 


Unklaf 


■utdracOnn 


menu 

Md 


Late WorhhancJt programi ba njn trpm 

Two Lha BtpII ayta *td aid m otftng 

reuwaa 

Uictf aneeus ieena 


FiadFlriiOd 

Annaloi* 


UaniEdau 


byCltvilFWnon 


vaitt 


^ff-iDUer'alcsriwBpro/im. 


FtufFWiDa 


AflCre 


Shk ?ir« o?wf d«tu tnrn tw otata.i) 


Haquiias a Uni lyatai. 
ffidnKilHit;! 


HkFF 


taw FFmsfcnU torn caMta 
WflpWiraiCB md mu»e hm 


AfP 


PntrntrtTf Mi<9iOOS n|pJicBmert:»far 


fttj Firt null ai 


*q> 


Uifi-ifcBtfi'oapyfyojnn 


RayTrnPIca 


T» Yimous rif-aicr^ pc%nc 




m*ad/ 


tA 


Llign>,umUiSwCllolB,S 


CIPGt 


UptinavWkcnfffciKkgndfti IS. 




frpm FFf 39. row cwTwnid t9 FF HAU 


C*r<.lar 


Hot Uly porvd b^ Ainigi. fji ■( 1 saoeo C 

tanjuags «;put. but nwdi t let of woric 

UcdM witn BftjrtB af t» W 

^«Kl*M»ton(Jsl(36 

Port of p-ogrun Id spfil Unij tfc'ar^ivM 

Utitiw to sncoda and dflcod* bfi*y S^ for 


P<inW»st 


V»B&n JO fl( RotwriFwndit pregrm. 
IArtJ*lflBSuwn BaJgeTBMjrplt. 
Irkiua rMn» RAM ipeeO. tKp inJ (sa. 


Cah 

Echo 


MiTR >3h'->ii« at hstory, wiiMc. m 
Impf ovBd tero" command wft coloc. 


^rmat 
VonLBM 
Frod Flail [I| 


aapieftfltmtimdHJM IBM 1l« 

QuSbOKJQHW 




S« 


R«plK>nM »» gw Mim ■|«' 




orwr Ktd/Mtiq) 


Mata 


,Ana(hBr*n()t*', wtfi mora tuuiw 


TvSpiit 


Im 


cwnJH Kxl tor vr^ronnant Ha^«tM.wti 

Jmpiawmatm 

iDnMV R ivcu'Vi* tw, groan Mfy type, 


RlHuik 
Fm 


FKt|>f5fcgrimjtoiBi twm run'm 
vlvnal rrwTiDry. 


PiOraa 
Updrta 


MBcel'ivwoLA pcljm 

Upditos ui cidw dw wfinmw A^ tFEm 

inoffwditfi 


UUonco* 
Ffid nah Dd 




nottilei. 


naBorch 


DCKS, fxagin to msU a ung^tftH 


Wmli 


Soanfw t Eiih for fttt el aw n vnt 


Hmi» 


SiyvRTawariDfHv^aPrciblMiinrft 


im 






p»i wr^j Lko B KckiTin aru Wwkbeneh. 


Frad Flab dak U 








fciwor. Ti6tl. 


Lax 


Conip^rtH Fog^ Fitttti, tra Knew) 


A»v 




tSpdl 


Vftiw 


FiiMaol/od prtMng pregwn ty 


TumalVsof 


Cliv4JW>BnAe«ic3Dmnfl 


OKkUodam 


taKiTB" fits prog rafn dsMCB 




ip(i?ng tfwifff. (Eipankon RAU ifiT^rfd) 
byPuBHJIsun 


Frill Flah D* 3] 


WTtOO 


(W^Hcwgarne. 

froy«n. 

Vvtv-i 2.2 01 Daw* VMctof^ «« m 


Egad 
in 






KSlMBtd bs [rf bo;«ino liOt 
mrHfm by L*o Bo'i EMtwi-SehMb 
D^ttays rumbar at tami in vi gu«M^ 
Bwagacaw 1acTl.$.r<3 l5mijiL« 


tedna 


EiWdoa idenn teoic. A.Tkgi5ASIC 


OoiPliat 


Frf.vaLiTt et aiowTM H^spv »dt 


riBprg 


profj'im 


It/*- 


A ttfUty trfj rapy a! Ui ft alvntW 
IvtHrmltrwrf. AwfforHtt ftfion 


HOrTMli 


pmodi. by Vrtiam RuM>dB« 
Progfvuto piayAwifl) tipougit* 
Ut}\Vf. byFwdCcMW 
Progiim n malw r>a Wwx B«i(n ScHHn 
iu^ t*n nerffld. by N«[ Ktfjn and 


OsrfruC 
MKVn 


2nd vi^un>*DtCLIo'«<wdaBv«4opart]dt 

r 

\rawa UkJ>ui| p«* n Vi>6« lew or hign 


opilkQDliBpndalBA 
Tha dak if ■ pan otTirnpSiy Budd^ Utta SiaifltdX tytlar^. 


ProdUBpa 
VilSpai* 


Sub««t B»fM««T >Tvt- rxf iTvm' itiktm bt 
Tp»iffom)i a«ta tarn En^iin ta Viflay 








*r» by Bll RirarHay itWi*ing»n Sn UiivaraiV- 




SoartL 




Ron) 
S'JWitHAM 


S*iiJfl50fi of puir*wiji mow"^ iquftj«s. 
V»r.HAH(KUi»i(rma.l. 


FrWFIltlPlltai 

CSquvad Sap (« Sc Anwicap, OrM Sqund 


FtidFlaMllalUT' 

3D-Arri ^ula1ipnotarobolcami,v«Ygood 


Tit 


Proiirwnti malwyoyF Ariiga look lika 
it Mn'^ pan v^bralon Mting. 
bv Lao ' B<yi Fi«tve' SchiMA 


Soliaii 


AfiaxiC Bomai o( CanWd in] 




■fgantim 




gr^jihKM, feai^ngtool, in:fudng C injm. 






KlorOiW. troni David Wdiiorv 


RiOlj 


Stipi gvbaea tfl Jfrnfctom Tirv^fid 


Aj«1a< 


EMC&lhin^fUnningHAM inimMonoT* 




S|>n3 


(Vtphct dtti^o d ipiming aiwa. 




cb^llb. 




foboijug^r 


C*i 


VZ.05 ot Uit Otlonn e#i i<h« tfi«l |Mad««d 

torHinxq.byMatiDiian. 

UKltwSDySbw&M 




douUv^s/f^od tumpiB. 


HaiOkr 


AnigiDOS hirxSw (dmov^idLTipIs 


VT-IW 


Vrsion Z4 ot Daw Wactw*! urmml 




Smd 


Sword o1 Frtlifi Argal te I a*antjra 




frofnC-A 




■nuliMf, Mtl XTiftdtrt and Kwmij f l« 






Qama mirmr. ji Am^t BoK. 


f^p-tOt 


Umid ■ W>-I0C citiitlof. WTtai in 




t'MWkrpfqtncflit 


NMSiaup* 


te»CSartjpniodti«: 


Tnlt 


Laami ral PalinO noun, ii UodJi-Z 




UkMi-Z 


Frail Flah gam 


J^iartjp.uni 


wti 1.2 fBiv<b«nvquDB handing. 


FrU Fltfi 0* n 


FFEncoda 


SdmrwKnan umFFtlA 


Ehi 


Mpht WBOfi d H hvd diih «(t «tin*i 


TWStvlLp.Kni 


QpanccnJioiMi-dcw, uinjruw ipact by 
CemFnHsrff. 


anEui 


3d Wfaon of !ha 'ttar^ pm^tm ban*. 


roump 


Duffi^ ir^ iteut SI FF fifl 


Comm 


Bgm^ 


Low-law' grasi^^ aian^ Breflf 


Jlh 


HDSC^fc»aiifwl 




«rfhpt)tt«drec±3rieB 




po«d B BK by Carayi Sffwppw 




tynppwjiSoo^vPfrt 


Na«sat 


STATUS-i^iw p^agim. riM 


C*t 


Wriion £.&* s^M<2 [>liQni Unz WViiiB 


PiMt 


Ovnga irtjhr p(og*irfl'« acraan cdIwi. 


auf.g«> 


03uU»buf*orad 4nm»SBn anrnpit 




pnomir. PDMWK 




CU r«Ma*fr«f:t, ^r^LiJ r^ 




By Car^fin Scrttppaf 




to BOta in) VSpon 


Ham 


Ovnt 9i FWrtm, w^pon 6.1 




LJ3M rx) Ul-u C BurtB 


PpiOvm 


Ai^owi tv cwuard oijtp<jTe< an* pracauu 


□ihUviw 


[>if^iyoiaawiiIxaBenoftepordtki. 


UUMcoda 


Trintiili tmiry fliM u an Unii- 


Qikpad 








MvnUw 


Vaw mamory m rari Irw. rawa aiW 




Iteprsgriffii 


Oi 


CompuvtOrAsivigflottfihtar dwrbry 




bYMnUlon 




joyflck 


Wm 




ttonWiBi 


ftagrtra to »«W fuf pft^ani Jml fratfi bw 




$w« a nsmar oi HM* rroffla aovan u 


Or^ 


Bouncngbnildarna 


Viofilir 


DXHDIcynirmiwiftMBfibr 




trAmOry. hBtbrrp^bfepartwdamagi. 




an FF iia. b^» Ca?oi)n Sowppw 


Sfsng 


Orrg, Mth nirMJ aiada. 




progrim 




jTd puttup BrnqueE* to irt'om you otir» 


Siw^^ttDsmo 


OemooftfiaAciMbangtnifl ShangTi*. 


Scr»n[X;rip 


Durps^ghait nafrn or witiow ti tw 


Mndoa 


ExmFMolcrvringtDOSwnclnvQni 




dtmipt R^DrnthflSB^nraDFlilary. 


SwnlEfvnp^ 


A OOUblft buffrTAd tojnd eurrplt b' 




pnrrBi. 




njitefnKiwn 


Protkif 


A rttftrntflsajflion pniflai hy Manx 




UaniCdyJmGoodnow 


Sffll 


Srnpfa datatuaa program Hrt. a 


FrMFlihll 


lUl 




CpfHTinit. hidudtt C BiK>. 


Vqxte 


A worbng HtpiAo aumpla. by Eric Cotun 




DECUSlape. 


AnaBHio 


Wio", Vuch'. lirf. V*'»rtton in uHnblar. 


FfldFlhlHim 1 


vniu 


VZ.6 ot Dwa'i V11DS ferminil wnulitH tiVt 


Stn 


Sli;»*ldamo. IkaSlMTrak. 


Qiplay 


QlptfitiAM iniiQBt Ffam i Fty- 


Cpd«J. 


UodiiB vf eiQclrarac tpirggripn (rofn dnh ZT' 




iiaimftftfi] xmodarr. by DmVhdm 


TrmPlul 


Tarmirw] progfar^ laftcapojra. 




ffmng projfim.w^pump* pctU-M. 


DrUtI 


EnhtnncT WRin o1 DfUGI Irom diA % 


FrtdRthPliia 1 




litrarY, hjncQan kaya, Xmodarr. 


Dnwr 


bmpM dnrcBd^Mv nircn. ack 


lUtH 


Sont t tot d ob^medLrlH Ltd IbwM 


CipBovd 


Gpteard MvttintarbcB raiAnaiL toprcvidt 




CS-e proftcdL 




].h>RM4:dik 








a Harden] intotaca bf Andy Fm^t 


ttlCI 


Voraon 11 ol Dl«¥*<lirt VT-lOB 


»>(> 


Mj^17.«ilqutabBDrty 


UyUpdak 


D*i^idlibutlrtirwiT^936flr«loi 


ConPpcMti 


Dam oa Uw iM 1 iKiS Pabwa, 




ar^iiabr. m^ Krtpta & kjmrtari 


EuifiMLffi 


ftUfl 




■fipprg cxntjimts from C h>id« fta, ind 




CorrUnr, «. t^ Comyi Stfiappaf 


FndRihtlihK 


Aliost 


T«m fill Bm J rof trti X-nodflm , Ksmrt 
nd CSe pmteii. ftnocrlwfi, •CTifK^ 


PM 




GwDi#£ 


^fl^Tt b Ind al uaitabla d» dvwpr 
narf«( and tvirn tvn at anaaac Ihl by 


«« 


Si«(>inllai<orainpaninf 




tintnclvdw 




RLE ^tpfiics ifid (B=iW»rc# -nods. 




tncSwiinhfW 




PTitpUndcf^ 


B>* 


PO 'amh' uapaUa InllH.mMtV. 


AnfiUsntD 




Wygtn 


Uofi tjps p43SF!) Q4vwitiif M^ casi £yaig 


0«VoLr» 


ftagtam » gai wlurrta nam* of tm 


BsiMef 


UpdBid » ff lHjnmxr', h 




luOi « opn five, Ktw 1U(( rwDu^cn, 


CMlllH 


Ojarwi whBtw ■ noun but&rh n pfwwd. 




VQijima ti II • f^vqn 1V« FViUaa on . 




Manx, irti icfoll Pari big imv 




Mvca niBt, uwmjp^ LbiBn**, pom, mcl 




Tia on 9n t nil m cMt ti B ca.'i 




byOudiUdttana 


em 


b-*B» pett Ityrtira aijiT;»ai 


Arc 


Pgpjir tif Mm{XM»5n urBBm. Pa 




aisa>rruB A larLp-nqusrcB busd on 


lw2C 


na*da an ««n fi i* and witaa aul I 


BcesZ 


Anorw varasn Pl bna' 




rtrdvdlar ttrwUngfte 








iajmanl of C coda mTMi* lojn d«ta 


{lilanlli 


Af4>»rtm*rtealartd*fi«iaJonTi. 


AiaaCMa 


ft^gi'im «MldK0dM VHOdH 


Toudi 








Ics 


F*e iffliiior, saan^iig. posfton by 




irm AA ind liKsitr, 




unng t BchniquB from CcmmwlorfrAmigt 


Msf^eWm 


Prognnti fiw^twMenLrst antwoF 




perfWTt irw nmbar. 


ar* 


'■tn>('np(a«m«fitlriiflr,vflra«i6.5 


Traai 


Morfl flrtwuiw wrwn of the tw» 




seqjKTttfiyconigLrtd EWWbcunto. 


HniFanI 


S« of 26 iwi Am>g* bna frorp 


Cosno 


XiltiUriod^daw. 




piDDm on Dill 3t 




bj CvoTin Schapp* 




BtlRldior 


SgZ10 


DiU GonofBi MlO Tswind flmulitiir 


FridFllhJillKB 1 


mC» 


An ot^ofiMWd drawing program, 


Pt 


Bto^nLnd pontutllt^, il>to 


Diua 


WrtJMQd DOGmtoftKP pogrwr. V 1.4 


AtP 


Vrvon 1.1 vf sfhaivwwv 68000 niMnr 




VUbyTfflMoonty 




opborva, wklcarda. 


DOSMatw 


MnCwMd Am>g«CO$ ai Mp pmym\ 




■iJ8fflt*f. compnb* wfti tw WBBcomcaj 


FndFlRf! DlikJ7 


ntitmv 


Oaiiaa P«rit-|fptia raquactof, 


fiagaPiM 


FVina ftid lin vifi tmw)v% pig* 




utmbtor. Tin hdix)»*«nttiiriptai»rtyp 


RvpiHid by FF97 Dot b Copyn^l prob^mi 




wftlsanpit 




bf»i*(i.[Mntfrb« 




mobJ* fndfna™ Moterbia m-waiionci. 


FrwIRtfl Plfca 


FndFlXnilllS 


Poiai 




BaaKXit 
OttZip 


AtRk brHlu>utgdm«.u«n>DgiiHK 
VetKon 1.1 d ■ pngrvn V •mditd 


ASOG^ 


Eji»m«y uialjl N^aranrara 
JKBWraae r r-n d *, By Parry KtvqIwHtr 


ASsndPK)«t 


C ajump* pl mikrrg ajyndwjfToua ro 




caJ 1 to a COS hand*, wrfllon by CJ-A 








andbinvy^iK 


&gVi» 


Dspityt any FF pKlira, ifidapartJwt 




SptiEfl 


Spr» E*tw «;» iw ^r*i ■: 1 It* 


Fanaippn 


A VTf n CU nplKB<TKrt witi U 




Bl9Wft*ylkai droMty u», uwtg 




poirw a cat: or FUW:*M», tr 


X-Spd 


SpUkpg ctwdsf tlowedti to ««s 




■Mftg ind MKtfl oif prwiortoofflfflifdj 




hartlwawBOTtl. byJafinHodgaon 




UbyCA 


ft^intll: 


ftUl 


UiBla 


A Unt^ CaTminJ-type g«r4. win 


Ef>«3h 


HB*dtpaJrt«lii mvifvitjit'^mtliU 


DrUU 


Wai!! t« Oivda^ raa, dp CIJ 


*i»tlVanll 


V CraA your (mn kiri wMntrt 




Bim, m c5WRibi»f 




d lUea rd drsHc a tor^ EWl (frapri 




opanuna tarn nwua 




prtyimtrnAfiyifiiPC. 








(VLfc*w»Tuflw 


DiU«2 


AnJf»»lI*tolOru«l 


Cah 


VivsET £03 af Dtkin*! C tfHlw tM. 


Sznri 


O^phOdiTdt 


HypvBtw 




FiaRaqMW 


Laisca C ^l« laq-jaifer moduu, nrli 




etmajatimartf 


UmAic 


Vr oJ'wc'brUnixSyrtmVniKrtrrt.inC 


llHTtClHr 


W«i«a ti-au^n »**•• m*mory Irt.MTOPj 




damo drnnr, from Oiafld Haapl 


Obug 


Uho tMMd C drtLiggng w*''^^ FF 12 


Wombat 


^torsor^.01otDMWvtl«^ 




*0B mmwry along *» My. 


UkVm 


Vflvri MacPipt|x±irai m Am^l bw 


DuilRayFd 


d aiimftofr!mCBM,n)(IifciihU»n 




wtrtnal wnulifBf 




by iohn HodQaoi^ 




orhqhraa.wti iampi«picajrBa,by 




mmjH 


fildFiilinitJl 


HflwiZAP 






Scott EvorKJen 


Oafi* 


HBdh^^ft w^LfsW.with nurm 


Boon 


GNU br Un LX V«^, wodgng jpUto ID Ff £ 




secar edifng unJffy. VIO by John HodgoMn 


nop 


Sittpla FF laKJor pc^rom 


LlIlM 


Crtil*ralMirceo1LMtkB3.10 hMdtrlita ' 


Cornpraat 


OpdfS b tw fito comfrftKbl 


H«in6ow 


A MaJFivdtr-Sryb rainbow ganarAtr. 


PspCU 


S<**ic*-f1^n program irwolrM a fis« 


Ln« 


Lm dfiMno dftno pfo^mi 




pogrrr onDcKf 




byJofmHodgsOFi 




CLLwifrainjmaK taaanUn*irg. 


Srforrt 


Oimgaatmi uBd in ■ CU aiilow 


Co. 


■W** rf Fflfuna'-^ 9*™ In AiTtigiBiitM: 


SUUSHfey*! 


Twe SMUS f^ayi, to r^tySMUS FF 


OMtom 


OvHnportdtho3|Ma PuiMcavcopr- 


vttoo 


Varaon 13 ol r« vr-100 larmrif pregrim. 


□Siad 






mureformatWflaiby 




prpkcMdol^i 


tUBltS 


HUl 








MnHvi^fV] 


ScronPI 


[>jil ptayfMU atMipie, toTi GA 


"DmOiJiod 


Ttart an Amga waon of UcnOMJEmaca 






Vvw 


At^y IBMvMMrbyJatnHodgton 




■KmiiUiWilUpm 


fimUJ! 


UUl 




ii9, vntt»\m\ot dj'flwftncii. 


V«dum?t 


JJt-M optmcEKl wortitwch pnn»f 




pUyMd on a 3ai»0i iKindaep 


Hitftftl'i^ 


AffligiBaarc fTo^BP flomoa paga fl^png of 


SnUiq 


P&rtiCia wraofv o^tv CPAJ 




^a doaa not ifi* DwTvpflPgrHy 




plarUld. 




a30BjbB 




tpuMHAjidunqjaoa 




JahnHodssen 



W8 Amazing Computing V3. 4 © 1988 



For PDS orders. Please use form on page 112 



F«IFIlhl»H9 


&>n< 


UptiKfcbtia— II pragiMTl »n)i*j ia 




rxtH${ 


&>nB'2 




CIXJl 


OKAp'O^rtniintwTXcabl. E 


I>v 


□ 3Ki fejri edrb/ Vt 22 faf fft^ftniff*n,B> 


OgpOnn 




&gpSia]M 


F\|1X tfiBjgwt on WtflUWT^ MixfOM,E-0 


Fuwe 


Smivu OniOati, botdoMntmik)*! 




SO 


nUO 


CCjoc^ansrild dravng pngFM, v*Ml^ 




l.Ii Uudi mprj-ij ««<t* 5t 


flttotji 


Dmg g< iniTMl) paiTWi tn WnkMna-. 




&E-D 


BtpsmTort 


Geiwil conipoui*ifl/»ii<rt2«on bm 




cjklil«9r. EO 


Ffmn^DllIlK 


V*;iaji Iha-wrta** md twNn progrtmB 


Ba 


MtmoryivMvntflfMHMiv. V^yfact E-D 


B^aFo™ 


llaJ9flsl9ulpulkiw. E-0 


H>Rl9Mjia 


T«™«:«iaijlMMfi VISiVTIlK 




VTuaM>(»il £-0 


Had 


Mou«»tfr*n«itfldsorwion^1. E-D 


M>vGw 






wtfa&etofT ii,?ior. ED 


B-oar 


9Asn»^kiFF»wv.V2.1, E-D 


UM1 


CciaininBflteilBflttivro E-0 


UfLrtK 


Exan^UviitHtjpmKici. S^-D 



FrwinihDIikBI 



ATPUdi 



LPun 

Ttrui 
VSfrn 



Piltfwi Jttr^omv tt work unte 
AmpgiCOS VZ &£■€> 
V/nlH iwMl to 1r«9 blockl on I 
dsklDTsnurtir. S-^-D 
PflCh br pfo^ ami that iMrt 
Tl*nn loiinsuniif ikrigiOOS 1-2: S-EO 

WdU2t S^-D 
^h< Topaz, bu^ rourOmi vlgvi. 
Gtrviwticti nnry. &£-0 
Mum £S Vscnvt. fra^MMHuok. 
FrriB^hPhtaa 

Fmrfn#imrtii 

Ihs A 1 poi!ot !ra Una. Qtmt Ijm', by tw Sobw« 

upM1it9I»ClllEL 
FndBihPttkgf 

vnnt, but KH.fn li nduMd. S€-0. 
Ei«rpl#otw9iJtrgWortiMnchiV[ndM 
apM ulii tt anothM ojEUn KTasa 
VeriitKil.fl^S-e^J 
Ex«T]pf« {or doing i cufUin 
WoiVbftncli KTWn. S-E-D 
Gsrvrntofl ono-lna tsrluwcocikj* 

BbiU-ypi/-Mn mguH p>l\ dodl. 
OtiM C icnns liec tor mmui, 
buadDnttr.MsffipGviL &E<D. 
(SU L tan tf sn now pK3ia>S And 

ituclrnm Ar.<gaD« t.S: 

PtB^ Ml C rmriiaf, iv:u {tml 5-E-D 

>iAy'-^ I « FORTRAN pipracmw. Sr£-0 

wtiow :d diH. E-D 

TNi program bAneu^atU m 

mwrThpn, Vflrjen I.D.E-0 



hnVB 



CIomWB 

JTifTW 
N*<rf>KX*S 

HtansZ 



F^etDLnry pa.is tai i SCSI AM 

UK73Ufvrt:^.w*eni.iM. E-0 
Eicnr^'for wHlingOOS raan- 
dihraqutnr, Sy ictni^fightbti 

Pr«»r<itg»B:M«YitCU 

wfflJw. S€0 

RF|>ti«d(*JtnBnM»ji»iw. SrEO 

pQojql ciVK'Csmpiar gficmnrnt 

VU ueanibiyaMk. SC-O 

Rnrg unai/i! of ftw tf)K> m vii drrm. 

S-E-D 

mtf QC'^ rrmmiri Ml iroigrim. 

^■O 

RwvJiVffvntv Krtan.S-E-O 

&lp^ tyng rt^r^ dKTia S-E-t) 

Eaiy My tt M pmlw cfatbuM 

Smplfffayticrx] lyojidm. E^J 
UptMKJ CEU lUT^EHi ol p*dc*t 
rout^wt on c!;#L 35. S-E-0 
UQTToryreKJsntKTBCmdLimp. E-0 
SiauHUU BBS fjrnvn, Mtaoh 1.ES. 

riidHtfinskBT 

4rCl! Sh»*M««i]irfic«kJog^fCK9gm. 

AfrtQtSfttl &v9Hir«kilJiBn^idlTne 
c^wAv.V^O E^ 

3-0 bouncing tni\ wlWn in UiItiFgrfi, SO) 
TctmintI pro-am wnign I. A, £ 
AntffwwTienBl&rUf]. S£C 
HVX, DCtBf, i OKSTOJ ukUiUr. E-D 
Vi.'eus bg tnj Bikrafe m^fticDrm. 
ltendi£i5'a^ia«ndBjncl E 

HvubroMK*«ft:3n1.1 E-0 
aipftaiJflnariaOeiJtM. E-D 
Wirt W^ sf Fflruit'-ffl)* 9iff»>ffi*aAS*C 

IttqrivvfiQnUGlDeltwUoiiONU&iia Soun rri 

ayrptjarx b«4*f fv AniQA. 



Airr6BX 



a. 



Feegd 



lUlMTast 

Nut 
ft/llf 

RiyTnctr 
SnipShK 



Bamxv 

OuiS 
HftiCate 

VHnMu 

FVllUtal 
RSLOMi 
ATCutm 



Arr.&h Uktd wnbW. v1 JIA E-D 

G!:1>0 Brtbr*;^erKigpr9gfim. nC^-E-O 

Corrnri PvpK*"v-t(»rn<cDWiD*ha4rtfA 

•Oitng md tiNry D inr Kf^ilcilsn twt 
uMt CON, vO a. E-0 
F^acvTwnl ctrnw rxtnw, m C. ^-D 
DKayt t>t Kr«*n bt ^jr M. vp0a to 
dK&6.rU«]Ji-2.5€-D 
D npf t)n rr «rci Y frkfrrwml bf h»ng 
ffwlia jt ^wn-wYttjbiockt, In C, S-E-0 
0«ngMtMT]fpBo!'>;icDr\ r C. SrE-0 
-naJa'niHftniC S-E-0 
Mntort prMnaM ^ pi0«l actvujf. in 

UaiMm poinw mu t dfpqai dt)d(,ki C,aH) 
BroMAt Kflikn tTuOLrtl, ttm 
TiBnucfernigBiTW. v1 0. nC&E-D 
C*T»rrta 'NcSonri En(|jrw''t|ip» 
h»id:r^« Vo^n m^h (!■■. h C,&£-D 
Hint proffi-fitu oams^ntnii 
muntHMng vx) ipwlng m ■ pnnkr 
Bpoiitar. kiC,v1.:^&{-D 

Vie CoynaM4)ditkiUnnW^.bu!fanr,«t 

C.&H3 

Fridnrf.Dt»k70 

Th« if I d« gl ^ivwmJV programt 

frnigiMonrty EiplofiMttvtooflhtvirnin.vl.l) 

Are Sandvd fiit ooiiprtitai md tbttitn. 

v0 23, iporafM&OOSvSS. E-D 

BiCkBHk Prwitbdokfto^t/fi. 

DoTil kTthOon-d-Pwvn nv naifujlBbf progrsm,vM). 

Qtmffl^ftmt QimcDtpranv^rLpttrdttKihheiaivl.D:). 

Jebt JVBrrtsi UKf urodKB Q CU n) WEL vZ-^.^ 

Li^Sd 30MKfewsin«sit*cciiCU«- 



Frtgi 
bonTjrpa 

UauHO«& 



Sptid 



iJ^ 


LOQO '■'■^Bt iftvprvbr 


StXtf 


D»ffi*W|mw«fB',ii1.0 


vw 






^A 


Fi>«n#ipi,t 


21 


Al-fol 


Mii)« u^it uif^ T^ JaAmn 




!rt.-3f3rf:'««i\ in Ci S-E-0 


Ar-^ibK 






prp^vn. lUtdavca^ C-Algg» ttawmg 




pre^m fli* o»mp*7Bn Jik^ iting Hvcti 




pfOflfiffi.S-eO 


Hodu 


Av^iBSon of tnm*. butwri 




wiMc&ktrbiiXM E-D 


Comm 


&wtltmiinit pr«grarr.y1.34, EO 


DUiX 


Ubi*^ taiBipiijrfifl li«iyrtm,E-0 


Fpc 


Simpitf imaQ9 pnKSSiig progwn thai 




opffiHton rFfxarta. wifi imwii 




Itaft, mw^lnfl fn^^. E-0 


tgiMi 


MiMiartabiAtM.vt.2K, E-D 


tin 


Hntkam 


Nmfoiffl 


Two naw hyitt; 'ihiJtlB'. ir a*«mnKonj« 




•Itnwthiffl. and \vtiS, a PC-iiU farrt 


ncu 


An AnfliaASiC ai P»fl pmgrm- 


PtOtmt 


DBnootfWCD'rntimlproaxi 




P!rt#W*W^Yt,2, BuMirMlMlof 




cjrtj^n wnOflBfj, mrji, vxi QIK)^^ 




SpniSjCoraiBamEiyButot, E-D 


Rol 


Crtn> ra wr..rT^K^ 1-0 Dt^wlx. vO.5. £.0 


Tn>S« 


SA ST'i *fln WBr«3intf\, E-0 


fnoniinnn 


Th«rtlOwo 


FFOCUML 


flKfilM)l.>7] 



Omtfut 



DlBrn 



ExpoH 



Add Cij»&r-izH*i,iii5(Tjgi'r^r*ifiai(rti 

A|pngi-k«y ■ho'^,11. Aju uV^OM \/*r. 

ShntMTB. n C &E-0- 
ALrbbonOpan FgcitM^ctD ttntgnginouBt hu 

aiLjDi»<ld*d<ar«. hC. S-E-D 
Do GtfWicEaKd«n>tfTbrb:acod>lQF 

oparing JUintL gtttFig FnjDCtaro 

ctMnntt:^ir|n^raneui«p*tier«.M:, h 

C&f-D 

Oobb't progftm. h C&E-D 

F^nbta. FafrognmniaU* lirmnri 

fFOflr«nv1,10, E-0 

Re-VTcngHnrKJamaaliftcE laatlfin* 

fixd of rrwHj bar gad^ an «fBBd. h 

C&E-O. 

Scvii 1 mi at, conwn to c«jrii 

pnntaba i»ingi.C.vii!, S-€-0 

■Long Uffrti', fji^in *mt» mrm el FF 

pea i^<fiidi aueoaa&Mj0» 1ti^ 

gi n faiwi.E-D 

UagM pa Fir dc^tptrt tt«r «niaund« 

of rgn-uHi h C, S^-O 

EKimpiatDfnnVctbngpvlWpan wti 

nvvm iRiMd dH tw PAfl : Mk*. I1 

Qi<ld-4)uhm 
AjnaacMOround SfTiJtrtoft^BKi(sn<liikG6,run* 
program ^o^1 ^« CLIiiMirg rw 0.1 
wndwCdots kiC,S-E-0 
Scr»ndyY.p uJttf^pdi* Ff 66.E-0 
Eiirrpia Ln**i':ii td«va ^wnjtoi biter* 
hlLrton. anfipMluaadikarBtit n 
pmaad. bCrxIuMrrbiar. S-C-O 
RirtB rrt] Aovl *)nrn ho, n 
nnmbiv.&f-D 

0«) GMnrmmarconiimjasVl.S.E'O 

Camt hMrcapfe^airfKprvwdji^pciaairtf 

lExaattoeiv map. aifti^xmin 

PWdulwi CS^E-O 
On* SnptawrsrWYQvRMftMtar 



Ut 



Lrw 



UoumM 



PlCU 



ftnPKForil 



Snip^ot 
TypaAndTdl 



Xptar 



VA»Qpih«}(»w.¥£O.Upd«ifFH. E-0 
Firidt An<gi6A&tC v^ stca nAti v lUdd-D 

Lan TaC vrmr^ pta^'m.'r.. \** Utvi 

Vncya'.vl.l.LFpdda&diM&i SrE-D 
IMwnaAe ScrraCB0ufC«iinr4«nfr,£t>i 

wtOa "ttM^W tn f«curFWtl]»Ktar|i. 

S-E-D 
nCAO Otaacl-oranM(lraMf^prag.«1.U. 

i^b b FF M SfwMw*. E O 
RmJorn SnnpiarvilorrLrvuTibfDWiter mC S^-0 

TIMk^ ManrVNt davioaa byinbropcirq Ejvc 

S*^DQ artdOaDQ waan,>nC^v10, 

S^-D 
Un^ Conm^naaauwrtwiardrtknnturM^ 

[Tdy^n *ti^Mf opeoi. n C; &E-D 

dnarifjptwflito', UHil>iiiMt!csrd>. E-0 
FfadnahPihTa 
Basv P^nthBabarojrfMpeirtaand 

graputart)!. &E-0 
BSpinM RffwfiOffJini^ aiibav*, S-E-D 

Camm CnxcatorCcmmiafiTpnalpogiaenvVSl 

&-E-0 
Copy BtftKtrwA'wvfamrivii irVO, pftanvt* 

<M», In C, S-E-D 
Off SijnpltUifrinC.&E-0 

J)M2 AroMT DrUll n UsdJa-Z. vl.S^S-C'D 

Ban Fajti^progFammCS-e-O 

Fd Futir¥m-inCL&£-0 

HvdCopy SvrilB i mnacrt^t cf 1 CU Mavon to t Iti, in 

a&E-D 
UouaaOtl Updtb t¥7X. fc/m critfiieuitpainw, S-E-O 

Sofern Char>gnffvfgntnt^n[b*n;/i»7«*n. 

>ZO,&€-D 
SpMODF Araow tut idy". m aBHri^btaf. S-E-0 

Tlva vt c^ixs 1 ■nd 2 fff Otvi {^b/i [>K3 dst^^b/lon lor 

twAmigt. &acartacgr:^o'«d.t>LieLrMlar>ojagf 

nmniKBr! 5( bo^ C anfl PMCJi AMirT»riacattA.rjOa006 

■1) ^i/^gr .a BJ|X1«1 B«K,ratogvttHiri4:|iH4rtf 77. 

FfriFMiPakTl 

CyciM pfCMgftna luTwi'.vVO. E<0 

EOfcIS Ei;*fljO^Uan»r«.7a™j*bfgBma.E^t> 

HanovlVrHPi WsxMtirot gwclor w?i vtfrad piMlto 

csWM, l^d^OQ p0i^ pwn, 

v!JO,nlikmC.&E-0 

AaniTo«ia CLIlooia n •namMi:«tfw. tMtfl nwiM. 

«aio,tMny;S£0 

QwdawmrriiilplanBrTW'^ r C. S-E-D 
Eiarnfjia ol « d« h.«v^ Ihtt uiowi uaa d 1 
CU i^a n HflB) ptfl. InehjdHUuK*. 
Ai^tiv: SlnvDnH 

Badimca pnnw output Id & f la, *; C, S-E-0 
Am^aDDS 'irrfp' rtfdacwTwrf!. in C ind 
auoflibix, &EO 

Ramwaf I tsM vid Itt rvnufcvi^ m C&E-O 
OapiajFitfFVi tfwn TDt ModJa-Z cnmptH, 
&E-0 

UpOik fe proean pslwl profgran iom d.iM 
69,iF^C&E-D 

Prag^amttf *efigtfadrtv*iap(aMni n k 
acrp! Inc. S-E-0 

AnAw "ro^^Tiu mci hrmear. r^ C. $-E-0 
Find* p«»il a*, m C. S-E-0 
Fef acnpc^ MU aqutsen. iffiap* YiH 
0[««a Fvtuncada h Harrow. S^-0 
hftt pr«« avtlngtV ICTWP Bts, «i C,SQ} 
Eiarpia. viand l&, ^ C 1 juamtHtr, S-E-0 

Taak 5t«« Cr«ibTa*J}aunElaRC.S-E'0 

[)m l>«Wndaintfwnvl.J,lnC.S^-0 

Wb brt WuanFvadrtndmnoAjat, 

tf'C.St-D 

FfwlF>ahDmcld {aa* Fmd Ftfi »&] 

Fnd Ftfi aa has M«ri wdhdrwrn du* te opifn^ pnGfMTti. 

FfadFhhMiktl 



haHtrtW 



Cmd 



USError 



UanFVDc 



UouRBd 



PirTiali 
AjvyAny 



Vi.ra of arrvKTo aiainMr 

Shinlti fv F ACC wntow aid maw« rt to 

twbM* 

SJojttxr FFbnjtnaiOfMcrDTicifnboit 

Crvdu cVix^F* 9t an FF Iki CiMV 1 4 

updM FF74 el 1. ttm^a CU 

RifiKai csnnii handct ta add adhinQ and 

h jOiry b rrany p^amt 

btacalJanMuslartt 

V6.& e4 Tm ton progrvnming lanjjuaga 

FrwjKf«ivytxwd nrmouMuiilpau 

M'd artowL 

hacA cnatod iron 'hg' 

SmuffM an FF lh» 

Eacn mouB dihc bacomaa 1 ^ratvl 

FradFhhmhB 

A^wtn F^elTadaaatfCmMharandVyoMh garrw 
^^-50 o'l a ktKsrmurxjfioni program^ wtf 
Bcrtpt. p«d«. bMpi. annancad Cia raquailr 
Dams WBono! OahJ-D* tflpn Caf*^ 
CoaftSothvara 

Von fti* pfcign.-n tv Yamaha QX aviaa 
(r?wuari. i^k ta {f (H » 
VIJ) (rf arontr DrUBi frograFn 
Umfl«>a»La rmi icDna 
l>wwari un pttft jwiri. V 1 .} 
Arittvw Worfc&andi hach, pia)F» luw LnM 
Grna gf lanM toloMflg iiQir pati^, 

Ffrifhha.ira3 

niaifdiCBrABniidaniotBrvDno'TtXt'Om NSqufJKl 
InhmMtoinianht, arxj n pr*r*aar 
Mr Qftf)rcii3»y br pigaa a^m.tnionif 
aamar rurn^ar^tbFTtianprwtdKf. 

FfadFtthBafcH 

AtAuTDOBAogrcratwr aobP*Oi%J^lkj^tl^it^ 
Wind a^da 

BHJB OwiipvinaRVMn program, V1,2. 

ipchtonFEl 



A«n6ah 
Aue^Faa: 

ftuatwa 

Cenun 

Fbnta 

kan 

KayLMk 

SeaiGEiptfy 

Tarvat 



AmJcTim 
DED-Ovno 
DX-Synffi 

Svxf 



Ed ^(laadbr. btJv ta lim W. Bakdl 

on M tf-b! in SgtaHn TO0IL 
Grafftffhn Ganao^^Lnev.i.'iHardbiaAheiat, 

vIMuMantMifilLTQ. 
Hml^ad AdOibE^piCdi^btoaaiaMafBr 

Xmodam tv^anaaorc 
F^)#lrictor AnVnigarospipadwiQaMtKhBjpporli 

rwntdpfMtvd tapi. V1.2 
PapCU VlOota wHi«ytoimmJ«tCLlMindew, 

wltaaMn Manhaf.updavudiktQ. 
RaqwAr UpdAFF^UaraqueabramteiD 

DPBrtL 
Scomavioa V33.1 Ei4i>novTfaUabkii>FQFgaSCSJ 

Vmoam tntar StfMnb haA, malM TV-liM 

i3>ac on KTiaa Parody 
FradRthOifcg 

CA VlQi ji Dflsr^ 'cs^^-ilu nd 

Ftoflaq Seurat to aWofiI «• rwvanar 

Kda HdataipanaififtirwTwyfeBTipro^ani 

ImagaToBli Sharanin took b rrwpuialon 1^ 

rragai 
LoMilani SarwdtvadlbFxrytiadifilawflwrtiqr 

arluaion; 
plots A i:r ptoting progrm wifi iwica, 

R«*IO EunnptBotaarbrtgitwmiodaonitandafll 

npji 
HeeM L«^iryLand*rtofWoFli&a!nen.iHrvaeutBa. 

VUora V;iora'-l.ka kxt vmdfli^ jWy, vVfl SE 

Vnawi Simpia Um nam nadar, 

EalfiitLiU_U 
AjiePoiniAjtt- aata c m MrKfe« uridr nt fihmb poJnto. 

Mtt ft3«ntav«r. 
CtciiT^rertt Doutit^icimniandQNbnngicttol'ir; 

Cffld ViapfBtoattatadrtapnnWAfpmtoa 

fin. 

FialBQ-OvT^o Chm&s'SsbiKQdFMI^, idaaiiua 

rrar^agar am ttKJvitni'^tfUtM. 
FradftaHaifctT 



tMSf% 



DA 
Otw 

Dreffihadm 

Eib 



hbmWik^ 



Advwmniynm Vgn Byto Uay ^H7. 

yl.ZE^ 

FootiWorhEand^ b o«indcii fiora.V1.2 

Conw^ FF *iti 3 PiiSCTipt VtH. SED 
faiUaovaz^ Cer^rfld^Ma Ecfw^giL an 
vaciitri.Yb rana^ rpulhB.'xIa'.vfl 4 
UpitUt -s diife 75 o^UnHiiia vr. S-E O 
V1.27 a1 Dion's »xiad-T>F,4>da«FF74.E-0 
V£D ol pfogranv tifl pAi ahadcraa on 
Worttientfi. SmE-D 
Sharad tiErajyaiamp^in UaruiC. 
An AmigaDCS dwtos >i«>dtr 9flrw«a 
urkfue Jdantf^eri. V1.0. S-E-D 
Anornab AmigaDOS 'ntlair prt>(Fami,S£[> 
Wiititof iQ* maFnory tfatHng. V2.0,SEO 
Utftn p^htor to ^Mn iDccEGin, S-E'D 
iHbM Mt^H b gjvan IscaiDF^. S-E-D 
I^Ktiing Squarac haO, S€-0 
Exampft *WH Bit u aaa If tvii I a 1 F AL 
natfina. S-E-0 

GsnerBBi FmdOJTt eww^, &€-0 
T«iU£Kpriniardmw 
Eirnpto of duii-^^rtod kiwx ifdtto 
FF41.&E-0 

Faatfednnbmg rwArvit S-E-D 
€JE»n0a FFttioar, SE-0 
A *(• BfiSnar Ha 'arc', n *iA. £ O 
F-EriRafanit M laaaFfadFtViaai 
FF Dtt K hai QMni«re«M dL* tt COpynTit prctiarrB 
FfWFlahaia M trBfleoaa Fcad R« nj 
Drliaikf OMooogjtfn^VTi. V1.O1, E-0 

Fi«K«if ^awma.'ff txoart wy aoiw, Vl.ffI.EO 

UFF-Dkteo Cbnoaf Uo'oFiSiQFivr'tJaaeaaapog 
AdluU KTVon poB:on « Piy) Brane n .SEO 
Sownengtq'jgglyiraadaffd. &C-0 
aa*an cDrtrtpton i*q,Mtb> mptrttnmi 
S€0 

QapkyHKk S-E-0 
FF«d nah ai^jHI^ (>*piaatFr«dFiihn) 
AmiQazar HfTitiky vww of 1S73 atart, aatdda. 

fna,tfar. E-0 
C«Fia AnugseuK«TJflianidy*d E-0 

Conman CDn»tthan)iarnf!iacaminifrMt£r« 

edtVig arti hiAry to ngit p>eg^ rf.lOf 
UtnMVrDOTi S^i^otittodaknUanWerol 
ETOgiT, E^ 

Hepiacarrwna f&r Inai vtf bona dantoB 
^e*k*laHCnJ1rrM.E-0 
OamaoJOMflo.EO 
OqMiyitoilfftofliinr^gaf»0ixipMaK. 
FF d;apky.v1.2.E-D 
Automate prtn*fdw.parwabF^v22ttED 
OfiiateitOfiijiWa batMrop or tact EO 
Uatceavngi«-iVirtf»FbJ3tarari bring 
twnmonly tpad OJ oDmrtBrtf'a.kuitgrrv 
mtenk E-D 

Diplayi and prtnV tt man of FFpkbnri 
&«nftlipnniar{iu^!(tf<««. viA £-0 
Gr*)*;icB*raM.v1.7.0.EO 
SnM WoFtOnncn tnw wirti tnta and %l 
miruto, EO 

hsvtswB* bo's: 1 nafno^ aditof, 
FTwnoiry dtasvnbtor^ ASCII cMj; iM 
cakunr. E 
gradHahP^fcH 

AdwTLn Dainrton Lnguaga (AJ3J t K^araM Bf an ote 
Itrvaga oM ca bgr U»« l>t>n. Ow Kortano, 
iMttmt Str^.. Brjca Jbtor, and Win*n Usi. AOL 

ACLcorp^,rB'pr«ar, ircaeQu>gg«r Braraa 
C0fflanHbyA)aB«tiU%al33. CUvv^vNr^.tttf^ 
[teunMBton ra w^attt twn «w utVBt. 



UovaWndEW 
Uund^hgSq 
FVTH 

Sc 

TMi£9& 
V«OuaPF 

Y«t; 
Zoo 



SownShrft 

Snaka 
AunEngjFW 

DvnoLnion 



HawOwnQB 

OM(o 
F¥nT«l 

PnDrvOn 
Rairtianch 



ShonAim 



rmar 



Twia 



For PDS orders^ Please use form on page 112 



Amazing Computing V3.4 © 1988 W9 



Frrin.h[>f»kfl3 



Asfises 



Bet*. 



HunhPtf 



Un 



parWM £{02 UMm^Mr, C BLn», by J. Vtfl 

OrruT, AiTiQtptirTCiy JmI SmitiK 

TejctpTKBiasr y^aa tan FF&5 hEpirad by 

UNH iwiK. SAL-ciBi f ^ tor pittemc pertomi 

pctomtxwdDnpatwnt. ByBobBrodt; 

An g a port by J 9fi vi VV<}«i 

updavsf FFB4vw»on.byJ. HtArihb)i,f}idtvi 

objioctfiihat&ArTitjht^Df t28byittfDrbMar 

madtfntrlrii^, SE 

|jk4 Unix 'mort', bats»r, wawi 12 updKta ol 

FF74. Saolli &cM arW I tfwvd. S E by M«k 

NuOOli^an, Ani^fMn byBobLaiurt. 

Lian.-y Piat inpt-nffna Bt* iBSD uru dl" BOBS 

roulrvs by UduMsyw. S 

RtCtj^liw dnarT«ip>»B;Dn pLizv. nmpubl, 

pnd prnt» npmcacnt, mdudac twandonU 

\inctvi support c Scuca tnducM. ^JOlun 

Tw4 pre^vni u Hdi and LJipaa My^l tntinw 

!ni:jan C lourn. by f«IXl<in 0. 0/n 

fl }Fn«t rnci-er Vi9t.lb itftioaTvt, b«^iry 

flWy. b^BfycBtaBCffl 

EncMoJOKStt &twy IM tW a m*1 or toxt-onty 

fc*rqL*. com pedbiff With tiHv vemv-5, jSuj 
?antptrvitt)(iibar wian>Qpaont.ayMirk 
Homn, ffiodrM by AJin Aowml ind Bryca 
NattktL 



mi 



S\H 



SmtlCb 



UUencDM 



Dme ViHilon 1.2TW¥SHYGpo(jrmfner*3i5Br. Hot 

iwardprecDSuV. hdud4k«ymiippfn{|,{Ht 
pcroJIing.tlHina OtltCI, mJt|M WfXJows, 
abiitytQ<cinii^wnifowi. UpdtiBolFBT, 
indLd«ujrcac«d4. OyMaaDilori 

hleraEmact Vsttien la, l^u t> f%i tn^vcn Rurn. 
Oiig by Dtm Cwoy mullptt mod ^fftans by 
DvHlLMWVi 

FwJFIiha^kM 



A;^9Tw^i Dtfflc p^ogrrrtf ofn ^b Peck'i Ji/y/Augjn 
liSu* Dl Arr.^Wond on locioung t* tud s 
«wa. V^updmafFFBl S.OyRo&PKii 

(SdilbFrwrl Siniitf in Krtaon ta CdcToFronl: grpg (FF9fi<. 
ertngMinCQMrf tT^entbyd'ciqng ini/iypiJlot 
f»m.V1.a byDwMOrwrHEi: 

HsCbtUauH Autamidcailf idivkfeawndgwvmp^by 

mflwng twiToui* pointed into tn* wndow. V ID. 
hdkKlniAjfCB. By DoviM Carww 

FFZPs Convtfttny FFfilsti poitiaiptlpr 

pnmng or tHwng an i pcwtgcrpt 
aimp«U«d«V9a. Vvft&nVZ; by 
VfiUvn kbwn ind &•.•» Pioi^MaE 

H(xfLiiTD(^i VidouB Moduli 2 progiiimniing 
lojines. byJa^Hidi 

Tsi7ar3d PfOMto-rvrJonddrtiiplacwy 

SfBfWBW, up(J*» d ■k', FFB7. by 
&ifttOr*y.Wt¥H<5mrdHtfl 



octpul U 1 1^ i& Ciftijra pnni J ob«, d«bug 0^ 
*crfftr«"tr"^-"Q^^ By C Scj>«p(r*« SE 

mulep^ftt. nultpM totuwad'ur.indud«b«na 
ae of Mr^FXP. by CygnysSott So!Nw« e 

Gonl 'GffOubMyFKa'makHtw&.ru^ 

bwiyu iJlowclMrKjp&ahiiitoMnnarsCleany 
V 1.0.byOirsba.-i Ji^hmon E 

Joumti rocor<}9 Kquvm of mwH & 1vyQ>oa<d ViVik. 

tioivd in tfita lor luture playback. Goodfor 
ddrrtotu{toajffMtrtotAt;gLE.^D. CfKVono 

Uergditom tttampttrrwi^ngoif MorrUnentrMol 

svquflntBJIycorThguradram bovdi.V/h<n 
fucnn^l. tlowi tltocat!^ i tsoian of fflvrory 
**iim spam bot boards. V t updito of FBI 
by Cft-o*yn Sowpprwr SE 

PH/lt/Satia AjE^nUtD'Cnid', tRoMdw-aoncf vjpiJl 
(toUinM ftf pnrwf ta a Ml Brttry sn^, Soira 
wa.tsnB4ion.t7irA. Lmhr:i8>J4JfiiFgMt 

RDCO>^-P«^i!y vtuiti la 'J&L/rwV re«nl> and ptiyt baA 
.fReuHindlurybairc!«wn3. BcnFy. toi/ta 

FfjdnahPtakW 



ArdTPiyor AnimiEen foador and dcfSayvr by ths cornbinH] 
rforti oi VOwKipB. ScUpIJO. Shw. Fwm*- 
h-Bi^L ard AnimatDFApp«3CBby MHBtfvai:. 

ChKi ItssnetpgrHAmigiprtnorvArniga 

tnAftBoa. High piayitii:^. V 1.0, S. by 
J. SanbBCK. A^iga panby Bl \Mrm 

HKMercfi prcwioi ioun fv WQ-Lliaprog.igr 

empprni vitaoan & vAidailtfi of naw intBHiKB 
idoaa.KmaWB'epi(OTn»rtt byBJ!«no«i*y 

Label Print labdi Mtf^ ait^ny tttt V 1 .3. ^ount 

Bva^atM fiqrn A.'lnr. U.Ha.nHn 

lineO VMT Ptaducss Ifwdnwngi based on dTS»r<3 

arr.T.lLlC)lltor«dinae<lEla. hdudflsMni 
tnaldrnn a-i ouhrv ncpoftinaUSAand Etxto 
hortKi. Vl.a, Se. bTJohnOwfi 

?Df:IJt>Umr Exmfi«cad«Efrpi4mflrtng pop-up mcrus. 

rHtanablr coffificGbta Mfi htuBen fn*nuL£E 
by 0Br«3<. ZaJv^ 

TaWMS Tokton^ iWSfJfiK pi^fl* tkmt. SE. by P Sfc* 

Tjmea*n FaE ertf Chip fam Iml p*ogJ ty BTa^tahasi 

WarpTflsd Fasl fext iwviBn^ rouinfls, to be luiMd wti 

jppfeanitn pfoai^Tflfl duf^sy 'a toiof lasfcr 
tian^itl-.V2.0ipd*»JfFFB7.S Sy&IKsiy 

F,;yiF]ahDllkt7 



Replaces F57 for Cof^wiB j:rD*l«Tii 

Ct/lAvPasta ImpwTAitaontotliniifcul ardpastp 

wmmaffli, t»f John^**iJ 
GrapiR FVogfin U plat imp^t Kn^ona ltitv3 

Juggv V1.2ofraboijugg*winMaa^- Uie«H*H 

mM»in)ny?a£i^ byEncGnhim 

UtMSsReadA' ^mwBpn>grcnbi«id«jctfi«&nwl7 
Bk utny teif tw moiaft by Witiwn Betz 



Spfin« 



arvr 



Pn^ Id danuHiaVtK euns Wng A. ran- 
danng MTtnquH. &y H > i fc^a|lj^T«j»n 
SinpMfrt^etdafflo. voaiinifitolY 
'bmJaltl^w moSon (r( >vg i r r tef a cPHg 
ponduiuni. lndud«aSoj'i»byOi>ia Eda 

FftdBtfin*« 

fcoau l&c^wnvninaJprD/inbaBdaiOomrT] 

VV,3i4.lrdudaaUKrawncfow,av1orr 
gad^Xcsbrtad rrvAVti V. BotaO.ia 
by t^ti ¥our>fl .oofrn by D.i.JafF»i E 

BsbctJp Wrjka M>(jiaOoi tSitlfS u l^« b«biup EJasatv 

oiofL recover ft« from ^etndusd A. 
RoqjiBsm KiuiJ c6flC*oni on (Jsk BtrudureL 
by Win Ksrtt SE 

OCDwTio DitfiC<t£3^a{}i*ua]agpF9gnm.ct»ro 

imiied tQ cOiogng 109 Ktea at a f ma. by Ed 
Moid.HcfoAnSiifEwui 

HdOrwr WD-IOOZOS hard dahantraTiflrchiw. Card 

eapafei«ofrRim«:nr^^hirddciandi 
^Kpn. r>ad^iw«c&cattaol4ftyone 
hrd avL by Ala.'t Ktfn SH) 

QBkh Qu(^-BaM. a "MafSna Ua,-vgwTwn 

ut'i!]^. M^iv nd ir.arrMn t maxmiin of 
2tH raoiF^i p«r I^L By Kn%n Karri» E 

Thai TlwJ lang-j»ga qu^ pr^Qrun. Spnft « ^pa 

<Hi^rBhn'>iai HTiwicaa tarn aupptod ila. by 
AtanKwnSE 

ftadHahditH 

A-HandBi Vsruun .JaHay- tfacrgConitrucloTiSinfonha 
Amiga Ctunfufm by Brian Road ED 

Ffarfntf>ndk1« 

aaraark Mun w* BralTa1»^ by Uo Sctwib 

Conmm CooKla nafidwrft^Bcanant proMdatlirw 

edii3ng trv! ccmffland li?w Nsbr«a 
irantp»*iTtDa;p'c«lonprog uwkCON; 
imtona. Sha.'««A'« V!.a bfWKnwL E. 

WBUndw Workbardi ditplBy hachgna. upgrpdf 9^ 

•FfcxJiat* on FFftS, nawMfi toui0aft»ctL 
ByFWWdaS'vL E 

CrRana C4CiJarF'am>o«wibf ^ VIdaoGcapaSD. 

GarWrtlBiaclOdiiMiaa^lvpplyganwVi 
tv ipaq&H rtjTnbar of wia«& Vl.Oby 
Thaa Roryan SE 

IcsnAaamMr Chftn^WaUandikomMti FF-bvih 
llietby@fefviljndwil£ 

hhn^Mlt Standalona ipollng dwdiar BcanBlBit^l«a 

a/d ftpant vnn. 1000 common word list. 
i3.0Q0 word nam dclona^ wiih miitiM 
ui»rd<lionarYiuf)f»ft h«ftK«iw4!h 
UtaoEiAKS ii fiti an ecnKsniKJO to 
Ap 1^^ough the i3i/»fia, tioppng at 
siKpea wordi anl ^Iwng 1^■ Lrsef u 
epten. WO byDanpeCUxrarvz.S^ 

Itldi m4i library antf ua'-ty tet hci«« Ud> 

momur, njj:ng \,ii'qf. nu uStiy, and 
moral byBil Barton SEO 

Piktrp pDiftcrpt k'lVp'viBriadiiFQpwwwii 

niaa an aeraan. t>f Grag Laa S(auy|E 

StarAjpt TiTfl»Citart^li4r«pJannan«iir 

tandani AcviFexaO) and L5vup.et^. 
Optoniirduja (1} BrtiS^Brtupob. iorVw 
Woritanrcn pijya.Tii or CLI progrmawfi 
or urinoct command Ina p«amBari. (2) 
WBSarbi^.otj,fdrWcirkBerci projrar^saf 
CUpog:rarr»tb>1fa9k'i^rvC9'TinandJ:nB 
paramftoTf . (3) CLIStBitjp.Qb| toF CU 
prqf^ami that roquie command lina 
pirafftawi but da mtnaad t^ ba 
WsrKBtncnornabtt. by &>« Hafbtt SE 

FftdPih^^lBZ 

Oxj^ MachnandapeiYMntmacnDaisdCdit' 

bugigiT^ paiJtaQA UpdUB FFii.byFFih 
praflirtg suppen by Sf^ayaX Sa.'wiH SE 

Mltfl-rt/ff Ha«vydurf»t!M»nnFtJingCyfl, 
i'duHa mmpi« rnxc^ tatrv^eBnent 
ca&abltr. Bf Piia Gmosw 

SKtorana R«cw«r ks>t v damaged data from loppy or 
harddcktor r*pa^advnap4vdvi^ia. I>r 
Davxl JofwE 

SibCdn Smin rpuilina nHrprt virti HuvJaw for 

h#«dnng. Upgnda FF5QbyPGaad«v«,.£ 

Uean U» icom Id carl up acnpti containing 0.1 

commmda, vao upgrade of FF31. by FtlB 
GiwOaveE 

CprdHtf^ aril 103 

AvItfBBa Uerarypri^UHjprog, implwwm/CKJinesTor 

cncGng and utir^ taaahfkl in moTiory.S. 
Ca)c AprogrvnmaUaRF^eiiCulfW. 

Cwf ACcrour«<.pr9g. S- 

[>]ri<i«k Apairef progLWii(Aiiovi(]nutoi*v«llH 

is ona or r^ora nap$Mi iic qiidi iMdngi 

Doaml ti^ov Doi forrRi:. 
htuDoi ApfCQ. TDimprQwcortfrdan^hancflrigaf 

TvmakfiaJsfiafldfkiin CU-r«'. 
UFF4JpdB» Alwt n-porl yBL Iw K*ffDFic*w F^UW-O 

onFFBB) m^ vpiem'D worm m ilk 

btiarydaitbaMi 
Pidt't T*at tf HM fw !^htt and &j%. on a d' A & 

pacMi twn mb a vngta &la. fa^ mMam. 
Sol A.T^ varum ef ightarv. 

Andytcalc ItalaAQaandpoMrfU ipraadahaM png. 

FfBdPahPritlOS 

AsmPfO^i Wise BS»frib*y tjijli. kidudas wm« S. 

^scPiog? le«£Sqiiara Bok«si«ail tQinra frttt & 

giaphi rtrJii. S. 
ann AraplaDimintfer uni ■yKC'commrt. E. 

Chiouaa Aruhar prugm V« fK^on of dwfimf 

hacka'.S. 
PamKaf AiowikffyboirdandmauaarpLnitiba 

bcMd urel a patawrd ii aniowd 
<SiVf!fHm Gamv of j^anas^iTipa md bMA ho^n, v£t 

updcBDFFV. 



Pa2C Av4. b aria i C^angosfbiilonfe mnic Vw 

^nvign poRtsrS 
Pera-ff-fii El o'aMtrg£ucngreenan'pn>caaaaa. 5. 

BscorflF*a0By S*flliaft»'JoLfti»l"^0updaiBiaFF9i 
Ff*dPihD(*1« 
Furenay Shwww OrvMn key aattor, vUusdati »FF8S. 

Souroa iinl. fom ujtvltvitan Uahj. 
MoivArl Aarnil loiaciJDJiotnma Amiga artaiTk. 

0ui6tF1iii An FF iliMtiww a;id ad mmtsan p'og.vO.lS. 

RsiKolla A Fimdn gima. Alio colled Oo-Uoku. vl.O 

Fr.dFlriinifctn^ 

Ct^ VZ.C7 of Mffii Dlton'B c^ like ihaf.SL 

on Aui]l.,Bmi^iarba?weomrni>t "SifTpiagirBrTttS. 

ProSuts Ekita pr^Moet ex. code of ibalrfn nch aa FitIO 

RaquoAr. XText DoReqjesL &ijwl« on howb 

pro^tn tv Arnxga. Bdok 1.Q1.S 
SVToa't Sara uh(J 1ooli_ S>. 

FradHihaatHl 

ALS Dr i«y>Q p<^ buad on UM ptg S 

QrUiear CM ctMOfiar. vlOb. vpd« ts FFBl. i 

Ddia-P»'%cl Prn»f O-war *jr an ^fl MXH p^rw M«l 

i;pgw)a^ inEflli«d. S. 
UdnVXUP Lffayoumortiurtrw lR!uMnaag«a^ctp>■ 

mriiufh m DCMPvrndcML FVi^:31^H menagv 

dat^mauaa coordrik^^rir^ vatMa. Ova! tv 

dabgjjng S. 
PrinlPop A 1/01. b larti coTirrson co^ol aatlngs a ff\a PflT 

Eaaorama UiJiwabFacovariiixtordarraoaddatafram 
floQPWi & hard dic^. vl.1, an ijpdala bFFl02. 

Tak VtlOO amulstor tv a Taknonbt 4aiO/4C14. jV2-G| 

updawuF^SZ S. 

Zfio Fda tfdi^«r. I^'rc' vl g<&updavtoFFB7 

FftrfPri^gyi^Qi 

MaArv A r^ew anmBtwi. 

amCPU ACPAism.titij8et&0e0atongiirfihl8 

enuatoi a 
tAlpc HKk'JDyi}^ Ar^igau a idanK roda. S. 

Frad n#i nit IIP 

A&ac A eaCOO aiaamUar *mtbn n C, & 

AdC AnopOrriivngCcsmpbarfortwESCIinprocasaBr. 

t pd av t» FF51 but not tUBd an tw ead* ai( nt 

ditt. 
Frad FlaJi Hih 111 
AftyLoad Agrapricaiimonttrofcpu, bKBr, S rwnorytrtB. 

hdud«f Wro CO rrponoos ; lo a3 .davKB. m VEibrt 

tynerri par«?eiait, £ smyloKJ. wfici ■ t\* uir 

(nSffara & diEpJpy program, by Jefl K*l«y SE 
AtvgnOvi' Atpgrii muhF^ nam« bi a ghwi OwfcerfflodAad 

WMn «! dv ori^nal nuatadd on di* nimbar 79, 

ByPhii'pLirtJtay.modtvO^'SatHSlSE 
flaijga Conl-rueuBJy c^sOsjri mfrnD^y usag« bi a iwbc^ 

bar gripn Bnary attf. Byf^br ira Sha 
HeliaiUauH Araha''BJiim3uae'pn>g- AtftanAcally BcUvftot 

I wndow bymoioe porlBf V 1.1, LpdEB tDdi^ 

K ByCrfACwofw SE 
Lacali Ato^tbeic & rvnttnC or^jarad ciDa Fa^ona lirS 

ofw'nodtyitmwfwans, Fl«trvr.end«i br 

datiug^ngpurposfti tt^Y ua*?ttrpDo!evak^«a 

in pn»pt' ByOliif Sabart 
UanMi Anotw murMbi'Ot^wfficy pro^im, wm bu & 

p4oaaafcQdatramC.Hoa3i&RJ. U«aJ. ByOa! 

Sol bans 
PopLr^ APep<Xl!ypsS^tp!sy>b^illQV«fysur>D»an. 

Loti of bB i pi«asfrcm Tomai Rokkju'attitrit & 

jDhnToabM'PopaLByOafSa^wt S 
FradFlahnitllJ 
BaachBirdt Bitf^ loana portrayad by iprrlaa S wurKi 51 X 

ria^na,6yj»ir5idTunr>aii flofVy. 
Buly Puvhai rt opon wjvoni around (^UI tTw nama 

"hjuy). ShmrrrtfaSianorvMmoKiatAia 

By4AkaMayvr S 
OopShadDwr (>opc}w3owV?.0, usewntiBrycBNastiti:^ 

Waiiabendi{Mmi. B dry BfJtfi UtiAfa 
HagafOarnot TIGS' & Tseua'. FlGdrHur»onarT^ Borty. 

BfJoalHagan 
ViacBrn takalw^vonolviBcivTi'br uaflheo'^ijeianmtll 

WawBtnchdarng. Borty.ByiMScNiAi 

BryoiHefM! 
Wav*6afvii Aneartxr«anhid^Arj^son5i3<mBtfviat.Fer 

ff^ora lA>ght. ry tn car^^ixaon Mlh '^acom o' Da 

(Orop^udon), bndudat S. Byfiryea Haibii 

ffrtntfinnina 

AriiCrtrt S*nptaUni« 'aon' lypa prog'aiTt.B bactqfOijr>d 

tB¥k uasf ■ diA-r»derit ia&4a u utornaKally rirt 
oartan ^tki on a legUr bua. at spaafit Wnw. V 
2.3, iixijdoa S. ByS*w Sarrpior, *m»g« port by 
RckS<naBffef 

Chit V1.2BfofMfltfa*]tladibf, A(wnp*aWlfSJWVQ 

•dttrdtftgnAdfuprof^rirnnHfi Hianola 
WVSfl^Q word pn>caua' F«e3jini mdiid* 
arbrajy t«y rr^appng. fas'. ktcIit^. trMi4fw 
luaBci mUtipM wndOKHS, & abb ^ b inrvty 
OTidDMi. UpdiB ta FFB3, indLxtea S. ByUaQ 
Dfifln 

Dori}wEarnpi>DOSdeww>!vwinUanzC Varaanl.lB, 
mdu0aiS.arJ4ai:Dflon 

M2Amiga Darr^dtvflnalpndtxiUZ'^^Atevn^ 

pa»UoOvla-2canpiafirV^odV, Inkar, at?nd 
■■lof ifiwfacB S nandrd it/a.-iat Co^rpiJaa any 
ifflal a»nt progra-TiKby limili^ coWvza $ 
impors FjinafdartfoprMnjaitnaETHi 
comp^tfil>3k£d, Bonty- []amosititi Sclkb 
6y:A Dagan, C. Kiadar, U. Sc^i^. J. Snuba 
lAMSofI) 

Notetr^os cisvipositoninfoQlanyaxi^aiiowi 

WorkBendi to pid( a nnv piaoa fgr ?« icon. UaaU 
fof 4fii S dranar karvithare Snap!hal rwrrM 
SWKon&TwvrindcMrtnfDrTTiaton. Uodula-^ 
tnotw damo tin HZApigi Bjr Martut. Sdiaub 

FradfltftDlafcll4 

COad Er^iihto C [v^veawial iranriibr b> C 

oaaaraDOM.ititffits' rTpnaa«capTpoiaWytrB 
moflharocortC guu By:Grafi»n ffaaa. S 



W99 y2.7Ei4vt1Kbininaf»mUabFi*inbarmiil 

imcdarr £le n.'Bte. tvijdaaa^&ug 

fwspOIK! t» UtarM tfior?y t^Br 7a 
paring Of vi7. Lpdan to FF$5. hiudw S. 
ByDa^qWecfv 

nSUncfer ttpsaalwsojiGfttwWBLanda'pro^'Bm 
fromFFICa Endng iiunquB. Efh^^iA* 
af aound, Hdudw S. Byi^Mar da Sitra & K^ 
LatWibauar 

FraJPahPliklia 

Hilar iAiOutjWxSvi ammvaii d ht Ani^M. 

BaattatmuK; w;Ljratona mag of mvnory 
U run. Bn A^ Oriy. By Aob»<1 Wit 

UrkAFOid Ano!har*M9u»sprjwo«ntBdcfame iMtn 
Istsofi.i'jokfls. S?3(nquji«d.lncLdarS. 
Bfi*oSti^rrltt 

RadRihPlihlli 

Uowac ArBnarimaBonaytiamMnihrBf^ltlinrrt 

•xa/rpla arvratom; KtfinajikBi, Rodv, & 
F-1 i K»hnar^i &H9dw nji en a 512K 
Amiga ft show of o*«tcan HAU moda. 
hdixJaaaanr'iflanpfiyarpragrjrTi |mot#ifJ, 
anrr^aton cuidv pitygrari jdi^bm, pibrn). ft 
avjc^aphddscfayprogran^ jvi^bra). 
By:Eric&ihara*KertO*f 

FradnahPtriiTI? 

AUjC„l>na Aratiy non hor.zontflt aciollr^dama Viatii 
a 2400 K 200 p»^ 32cQiar FF pxAn 
compaoad d (^vlowc^apt^DVofman)bart 
of ta AM^ LHwt af Calgary, mparhmponcf 
on a vary wda pctFft at th« Catg wy Skytna. 
a orJy. By:StB(^ Varmaulv> ft sipfwi 
Jee.-m 

EiPDanq OBma Vflraion otE^qwM Paini 1 .!., uad to 
eeaa 0-« icfding damo plcuia n tm 
AMUC_DfrrnadrB)Won?t[isk. Bdf^h 
ByiSBplwn Vff maulan 

ffrin#iffl^1U 

£npi« Thi It a cftnfMto matt*, ^om t» ^ouni 

up. r I>acg. d ftafr Langiton'k Enfui* 
gam*. Amtitpfysr game altipTttason. 
aconomio, mw, ac, can laaimonTiLPlfyvd 
«:hflr by loieai kayooard or irTOL,qh 
ftiodaft.V1.a> iramvaL ft maxwi S cod* 
ByrOirs Gny, vt^nM gam* by ftw 
Langston 

HAUnmm OtplayalinatwhoBand pontivabcurcing 

around tlia icrnn. t&ufi « a douUa bu^od 
HAM KraefL T>B YposDoniofffwpeinu 
an Qo^meviiyMfMd into m audio 
wBWform thatuptftyed on al tourchaiTui^ 
ft tv prfch of ajuHirrtoneid diord ii d4riii*d 
from tie avwaga X pcvson of twaa poimb. 
JF&rtfv Soirt* Byf^l Burti 

San BasadarTar^nricxlebyL«DScrmb,hai 

csK^longartians-Ki actual d«T^3. F%jnaon 
512K Arrvigi B sr[y. ByJHao* Qfnt 

WnOoffio DtfnanaraBt M ArT^iga't ktwU'vn^ 

lpa«d.n(;n»gnaSl2KAm^ IndudMS- 
ByjytcDnon 

FfdPahMaklll 

UooEUACS VBTmar i^ of Dui^ Innnot'i vananlet 
DatwOinroy'tna-Mnaca. Thrt)ia.i 
updaB b ine vafson rafeited onfMih G. 
Ajte irc£ud«d, tsr M f f E tma, it axwui w 
docunarriBlon in madif^a raadaUalom. 
hdu^ioLuiB. lUjIhar: DnaConroy, 
UAHY enhirwamartj by Danial Uw*noe 

FradntfiDiricia 

AmMtM ThitctOFW of Space IrvacMriiienaattf^a 

baaltreaV rvdil^^lBbtagamai fai Vm 
ArnigatOdtto, Unikvrr^anycenmvciaJ 
garner i.Bwr^iW'hu.cffrKly r a 
muttuskfi^ a^ftrironmani (by ntA m^irtng 
yeutor9biHtjiitit3piayagim»]. \i^ 
ncarnnwM) Bnory vtf. I^utw: 
LattN^n; DavfrooTWia 

Ba^Ovnmon AgraphcaSBaD^annon game dona Ban 

1 0. snctydaa ao-jca. Aytigr: ffabBflPts*- 

Barkn A«ffnsi«wch»Oi!book lyslam ofirtdbylfka 

tuiTu' as sna'nMV. Waon 9.3^ Unary 
onry. Ak/tnor Haf Cans' 

Egyp*flin C^fi^ W» Voad ™ca + haiardi" ypa gamo. 
Vafiisn 1.1, brary ar<y. shamnm, tourn 
rraiabta Irom airihor. ALfition ChrisHam«E 

Innhiaga FYo^jram to raptaca an old con mage Mm a 

nwp image, wtiouttflacSTi contypa. dranw 
dala,ac hciidtiEiXJi». Author Dan'i 
(^aan 

Frail nriitMritia 

BaacSvtp fciArmgafiASIC program tut halpab 

corrwriproyams urilBfl in etv bmu at 
Bas£t> AmigaBASKX Author: Gao^ya 
Tnpal 

DrfePct A(^«T<w*p3tir^ ^ogramwraanln 

MvigaBASC. A)an±.ilasalaitiaqLAm 
cjwftfTogrffn. Ai^or: DaJaHort 

Plot AtiwwMJvi^grapnffig program iMitlan in 

MiigifiASIC. w:n aara tampa oupi;1 f^oi. 
SotfcafirB<at>afram Euiwr. KiVcr. 
a*t>rf«Trap« 

Sti'i THa Ari^iQaBASC prograjn damorvtiba a 

muscsi iiuvon ba»d upon, peicapual 
cfoJanty of wdefy spwvd tonas whota 
vdi^as a** dofnad as a anuioidBi 
rqiBlanch:[>to3Af)reqLjency. AuihDr: Gaiy 
Cuba 

Uadt Voni'sn ZSofliarioaiMwawiraBdilor. 

Hit laainmoda, acommarKl ivv^agv. ma -u 
cyffimriBUon. and atw l*ar COfiSi^rablity 
and cutSm^uailty iaawat, Bnaryony, 
ihanvwe, updtb tovnrixin Dndn,EO. 
tuvnr: FtotSoH 



110 Amazing Computing V3.4 © 1988 



For PDS orders. Please use form on page 112 



Aip 



WBColtfa Aimp(*liiS<»pngwnuehtng«v« 

wi. Kt p-ogimi rcupK; b cw booW crlT 
t*r d tfttuian ifisSt but ndaie tra rm fram 

brtiihl 

UnquB bCLiiv ■ tiK tf t« imiign ind 
IOintmnpiaorabwt;y?««nJuHr. Sa 

wi^ kJTor. nco Uann 
tflSfti AnirmfaclvepLUzS&pn^vnttJMvlvtvy 

rt 14> irCo Huam b rpjM t piJZM vitf^ T« 

kav ctJi ?vn (Hci btdc Dgfftw igiin. 

^^■vanl.S. rdudBKUuns Aufior Al 

Oar 
Nimw A tfiKOMn prsgnn B ovati irtd mintei 

malmg itti. Bnarf ek^. Ajttnr; Etti* 

NMon 
Pi Alftbe uGlilir to prvt Itlngi n dfbrvtt 

tonrtBH. Similar laihftUttt'pr'progriffl. 

hdudHisuice. kiWt: SatiuiJ 

Pioiuaa 
PuiK>«r Ar«til-tMbs«t]tm«gYgvnt.<rt 

Uard uftti you gitfrM ii i nw m vf 
dfadaa hdujBiBira. Ajtiv: n,«> 
YbK 

PutMPa Cthv i[&i22«frar!iinFFpcBJ«,irtwri 

ti« LI Hf can nan ^«a back vgMw igui 
Wmn r AmigaBASKX Vtnwi i.O, t^mrf 
only, rtivflnroB, uira ivalibttfrwn 
it^toi. Au9iv: S]rd Botttn 

frwlFHhPiM73 

AAP undi tor 'AriigtDOS Repiictmait 
Ptoflif, Aipt*«na<VlM^Ch«lwH*tfi 
o4 |iilO'DrTvir« he. to nplK> t\» turmt 
DOSi^tcorrpoitHttshsn, uffincurflnt 
progriri'MlnRtiuetQweriL frpWo 
iTUHH vtf^tHvflr jrpnfrwi:! irt p«ublt. 
ID rcl£ ajTBTT! tni tjixB prog run) «<[ «oA 

Car TTwvtirt^iiEMn sffMOf AlUn'itrttwtts?* 

rnHM jotw nalitng to ■ wBil hmwn 
Amigir^ ttiptnarvi mtAi 1 «trt*rt hif^Wrtd 
^<if«ct h«dMnr«fntrutodJi«r. ^lij>V»r 

tooni SofTM twnpls mirroM cam. You rnlgM 

tnd fuc! TM Ka n lar MiraAiQM CU pTAgrim 
]foiA» twwi maaninfl ft m«k« rur»6»f »iiri 
r>«Wi>rk£*ivhBr»rinfrTWrti ^tunar: L 
Ptofl 

Tvol An AmtgiBASIC pogm witwi by tht 

bnw it rtiMfOM tor ivimi^g BASIC 
Co ntan t nma rta g^rop^ic r«id^gn ■ pf 
Miottvd&Ai/Ehar LPtoct 

FrriFtthPrtiaa 

baAgrsLine rnusie ■.TVi^rTwr^ li« wqirm 
Soni ta UH. A:jhor: K«#iSul«vint 

C«Mh/ Apa^m tofnintpiiitor«co'ener>pHic 

urrw] a y 99r - x t*mg tw» o/rint raiv 
tn u <uu tei, b:wi'j\ /ww oab' uu tram 
dim 11*1, ariii»K9y«ycMngng medan, 

Dwioa These lnw prograrnG, 'dsrcr^ potv^m^s', va 

JohnianEry to tw Badge Kllar Darr.o 
Contoct IbeyBTVvira&onigifQnviinofv, 
tut dVTvofwna Sw ringa of colen aviJaUt 
onrvAri^L hdximrauicii, A^/fW: 
jDhnOMi 

HBHIl Th« iruT-eao • en« oif K»wi^ vr«a D ha 

Bad^K^CteT;flCank£. RaTMlrrl: 

Jkit^i*! ^m Htft Bna' puda Autw: 
KawiSiiliw 

A bb-o'Jina riK auiat kri icon on m 
Am>gi >?»n thctnr Ew KAMqu-riy 
(tiOg»din)ijnc],BnddtK>bl«<kksi^Dn. You 
Ct/t ijm ri* to haw your j^iD^rami 'wany 
fiamMhffi to tom|xiraFil]i gal out ot tha 
uiar*»vny. hdudaiKUfcvandtlamo 
progivn. AJthw: LMScfnwb 
Ot^ATiga IhaimmiBana tibaJ^antyUfjaBwlgfl 

Kiltor Dana CcrrtofL Rcansn bi m bt« 
ba^ jugged by pgfsnidii/auing arvmr 
lipi. Au?tar: k^.asf Sryt hKi« 
Th«iupportlb)U'yree4«a bwbuiU wout 
prsgirnivf Man's ten }» Boum, induing 
DUE.OIHEfUtBic hdudviaaLnA Autw: 

^Mr«m 1.2afinaiArutM«nanpr>7L'n 
ftam Ccrnnsfltta Am<gt Tflem<eaj Sufpail 
Thawvonwl tostloTtiapi'nancaiaJa 
wui hJTWTtfy, flrentpacffe^tthi Brvy 
only, hffiv: 6d Xofftpr. 
iZZ 
Jtm prggrpm if Stow pxl Tarn't sTiry tar tia 
Bad;^ K^ Damn Cemeft KcmiHinia 
^•t till balnea arau<id and muhpfy. 
hduAi BautoL Author: &k«« Hvh' and 
TomHira»I 

Th4 dama it Uirk't array to t» Btdgt Hilar 
DHnoContoft. RitqAvTviltQrw^liil 
do«i, and M«i IflTi plua in tta contoti. 
Etrwryonly. Auntf: UarkAiay 






549i4i 



AppliB TNtanJTvitoniteneaiAJianHiffrngf' 

ertvwi a iha Qtoga KAm Oon'.o Contoct 
Lblka rr.-aU otT* tnirtiKOnl^ E ITiawta tAd 
Dtifvcttroni a niTimg p0ir4 al vwvt, ntv 
twi a m>avtng otfaci Irorn 1 fii«d pM et 
iww, Aj^or: AjSvnHaflrff 

FridR*Dhfcia 

Di A6SOCOd<auaamHar.«i'ilfeiifi£ao« 



OnipGEoti 



WBKhU^ 



m irou pinoa ■ paten, a Z bipin FF 
Jmaga or a ecn ttnabvi at t ptttom ml 
^aQa. tfito ire VnjruMKn baovop. 
Wtbot ?-<l tfivwm. bnvy Br«y. h/ton 



SOeaddJ|> 



K9i% 



Ajtw: Al'Ozar 

A hard dak badiup uGMy. rai aaaa a tia by 

St copy t» Ftv4iid AnuQaOOS to;^ drU, 

Indidti in inuton ntortioa and Ito 

umi^Men. Varden lAinekxtHaouKa. 

Agtiv: M«rH 

A DTipla aoaan pcrAng (vagivn. Mrtnanin 

MVb. negUrcc web prvprKmnQ pr97am ts 

rabu)d ^rn BLfi«. hduoaa tauraa ri mvO. 

AuTiar: GragLaa 

Apn-hrCnw taf ?«Tortiiba'3in ara* 

prwTiar >n [^ Qurvta (b»E] /rod* hdudat 

■hret n C and UHTT ctv Aiitwina 

hknan 

A^Hrddifcbaouputa^- ainhrtovm^. 

Qoaa ^ ea wpB M on. Vrasnl.l.bnry 

er'iy. lUTitt: StovaDnw 

Adone affieUniKHd iSmm EDtor] 

prograrr. hduidHHunL Author: Ere 

Rtymiirdw 

A Svi-kvyt' prog'an Twt bind>iW|itMa^ 

fifYr^on li«ys to nfdOom minpuaan 

^A:9ar1t iMndMr actvatOri, HiV to badi, 

rrovng Kr««TK.afc). hdudvuourea. 

Avihor: D*na«C«rw« 



To as Cofsrued 

In Conctuslon 

To ttie bes! of our knowledge, (he 
materials in this library are freely 
(Jistribulable. This means they were 
either publicly posted and placed in the 
Putdic Domain by their Author, or they 
have restrictions published in Iheir files 
to which we have adhered. If you 
become aware of any violation of the 
author's wishes, please contact us by 
mail. 

IMPORTA^^^ NOTICE! 
This list is compiled and published as a 
service to the Commodore Amiga 
community for informational purposes 
only. Its use is restricted to non- 
commercial groups only! Any 
duplication for commercial purposes is 
strictly forbidden. As a part of Amazing 
Computing™, this list is inherently 
copyrighted. Any infringement on this 
propfietery copyright without 
expressed written permission of the 
pu Wishers will incur the full force of 
legal actions. 

Any non-commercial Amiga user group 
wishing to duplicate (his list should 
contact PiM PublicaCons. P.O.Boic 869, 
Fall River. MA 02722. PiM Publica- 
tions is extremely interested in helping 
any non-commerctal support for the 
Amiga. .^q. 



To Order 

Public Domain 

Software. 

please use the form on 
page 112. 




Back Issues {continued from page 57) 




Volume 3 Numberi 1988 




Volume 3 Number 2 1988 



Affllf iHitM by Rchwd FUi 
[>g4M rrtuac gwalon en t^ A^niga . 
CArtmilloiPwillV by HctMTSwpgef 

Xs tf)tr yon roup's t mi uh d go badi n tia C*aBru. 

Forth sy JiV. a^ari 

Sarv^ B(.1 CHF ano FAST "amsry en tm Api^a. 

Tha Big Hcturi 9/ Ww) F4^ 

Otthrf ttaar-.Um lanQ-jaga ^agnnvnng; CU lydtrn call ttd 

nirfojlttng dtfl taa. 

Bugi^inn by MmEWnH 

RoornBra ^ TbtBtndkM 

AmgaCotLlTSOME-band artdgaewd toriha AZns? Mem 

AalSaatlby EddaOiurdi^t 

Opn orii, Kiinvi>)Ona, S tii brih of 1 rw* KitMre' gnwiwt 

6IOnA3taanblyLlngkMagaPra$nininlnB byChrttUann 

"Oaile imvlt-CDtaF wnanwirwJlypf^hirtionrwSnMl' 

HhIuIiJ ftogrmmlng Dy Skvw Fir**L9wita 

APtmcaeimnov Ou'cs anta » raoja-Zicanai 

Tha Amlcua HaCworic by Ja*?! Fo-^ai 

I^Uc Oir*n u»ato. Oyrr^vlsm pe'dci, and daw^apar rit. 

MJCM Natworti 9padtl lUport Fal COiaCX by I Fauat 

Coa-kKf* a: COiCEX and nan crao-jett 

T>ifiril3mjdiaVk]aoAeeaMOf¥:Pa1R by Li/ryWito 

Ufi:Pa/tl sy GwMHii] 

'AdBftiM \csK ■! vncwIuM oti}« V)<ga bfittor; 

FomiBtUiitv: Prslaaaianal DriiFcrinilting Ejigha 

by CerlMk^n 

FVil Biitti langLiagt to KQrii on Via drudDiry 9* dak tomiitlng . 

tSpraad Qy Biin Catty 

A Ui tocb'ad AfflqtBASiD ipnidirAKyau can program! 

JbnlpaFarumTrxnaaipt ri by Acfiard Raa 

2acn m ^ CarnaOaria/ Ar-gi'i DaW Hayne. 

Htlcite Rnlaw by CJ-uOt F{«u«a:t> 

'A stm^rhfymM, etsy to urn, ^irtitrM onHtb^vet.' 

VPPr»t*aaJ«wJna«lB« by SLzanre Uehtil 

EuyiiacKpcr^-ariraganantinSv IWr.igft 

ItonayllmterflwLpii by 5tolT«r Kanjg 

A parv^ A'vnce lyTVn D«yarx9 yo^ O^addMak. 

Inwaatar'i Advantoga Aarim ty Riiiard Khappar 

fttjt "Pov Uan'i Out3* to ma StocA Mar^L' 



Uaar Light 9hArt hI» fta Anlfia by Pa9idi U^phy 

Cjb'i vx] !h> Am^L A Da^rtg Tindarrv 

ThiUtarTtataVWaoADcaaHry: Pirti by LrryWtrto 

Ttha toa fnal rapawnrd d«if nng your own vidaoL 

Our Rrat Daaldep Wda« Dy Larry WiH 

A Ftop^ -to^i ^dt to P^aixng and craaantng your frit 

Ampivtoaa. 

hiMkadonihaAnlgawttfiFrtdnih by £dB»riuwa 

Inada veae t'«n tw na.1 balvd alvwaa Tah* dam. 

PhA (kj^ HaFaducfian alti Via Aialga mi Upl-VlBai 

by £lBp^v1 Ljt&nt 

St^rrmQ Oq-Vw* imagaa IwK {r*it n ha^copy, tool 

ath.tdr^ ysur ChadchMtiiritli WatdParfaci Uaaaa 

by StovaHuR 

HinO your qhacSdwoli aomaa (war b tif Aniiflll. 

MonBulcTtit by BryinCcOay 

D tfi^eying tofi en tnt Kraan can be evan euerl 

1j(i;Pvtliby Qraidai!! 

Tha Hvtwrxttupwr tvtamadnrwWcil^atanand 

■o-yTca to LFER 

Mutlena to Utaar Wgibn tvaugh Matlt ConpuMsna 

oy PapMtBka 

Smp j*y Ri ttx Jt^tfra wrh baac agattiare ft raulraa. 

ThtArnieuaiUfoit by MnHim. 

A t(7BtHw lew aiti* fioPNibvtrd ra JiTtigt. 

Roflinart by Trwundto 

An^ (a 3009, \A'ut fWrt. and Yffi avraal LuefTaanr Baai 

■Sard up?* 

Bug Bytoi by iahn Sfrnar 

Uodjla-3J>Tognnmlng by SvnFanMUPHiM 

CAtlrtg up mfi Caic-t lOLrm fcf^awr-up. 

etOCOAaaambtarLangubgan'ogrtflinilng by QviaUrti 

Gripr*t»- F*rl lIctAMangnm. 

Afazok'i Tofflb by Kervwti E. Sdiaa^ 

'A Vrlyig tSnrAl* ulto t* wMi d tw MCJt* 

AJRT by Sfev* FatiMuawaci 

iln roQvtnw csr>-MHaapn}^irTtrr,;ng iir^uaga. 

FamalnHI/tl by 3tfrv4P«j»ncz 

n»r<«r and Ar:.-mk otncA m 3{>< 

■llcsn Draarna irtd Iha Jtw« af DartTvaa by K 1 Stfwtoi 

Hang on awry Mid n r*» cUim Ui: acMrnraa. 

Idajra nit Larry by Kenr«»iE Sd^ntor 

Tht ji5TiiiB Harci «p»nd» i>na racy rigriMi tm lir.iira. 

TtoQ Hn Enrlia FrtMn Mooblodci by John F{iu« 

kfiOl Expar.aa-i & S^d^uird IJ UudRjxtinbaard, 

MndlkgMTHiti PaoplalWar by Jchnftut 

Ma«VrO Aii^i prDdLOL 

RivitoBi* by Kannsffi E Schaator 

Up Yaut chancaa dn ton VKnttof rudi*ia(ti tw Antttv 

fftmtatit CtaraAr Edtor. 



*AC- 



To order Back l^ues. 
Please use the order lorm on paga 112 



Amazing Computing V3.4 ©1988 111 



Amaze Me 

Please use this order form when subscribing to Amazing Computing™, ordering Back issues, or ordering 
Amiga™ Public Domain Software 



Name_ 
Street_ 
Cxty_ 



St. 



Zip. 



Amount Enclosed . 



Please circle the appropriate item: New Subscription 



Renewal 



Please start my subscription to Amazing Computing''^ with the next available issue or renew my current sub- 
scription. I have enclosed S24.00 for 12 issues in the U.S. (S30.00 Canada and Mexico, S35.O0 overseas). All funds 
must be in U.S. Currency on a U.S. Bank 



Back Issues: $4.00 each 

(foreign orders add $1.00 each for Postage and Handling) 



Please circle your Back issue choices below: 

Voll.l Von.2 Voll.3 Voll.4 Voll.5 Voll.6 Voll.7 Voll.8 Voll.9 
V0I2.5 V0I2.6 V0I2.7 V0I2.8 V0I2.9 V0I2.IO Vol2,ll V0I2.I2 V0I3.I 



Public Domain Software: 

$6.00 each for subscribers (yes, even the new ones!) 
$7.00 each for non subscribers 

Please circle your Public Domain Software choices below: 
Amicus: 



V0I2.I 
V0I3.2 



VolZ2 
V0I3.3 



V0I2.3 V0I2.4 



Al 


A2 


A3 


A4 


A5 


A6 


A7 


A8 


A9 


AID 


All 


All 


A12 


A13 


A14 


A15 


A16 


A17 


A18 


A19 


A20 


A21 


A22 


A23 


A24 


A25 


A26 


























Frad Fish.: 
























FFl 


FF2 


FF3 


FF4 


FF5 


FF6 


FF7 


FF8 


FF9 


FFIO 


FFll 


FF12 


FF13 


FF14 


FF15 


FF16 


FF17 


FF18 


FF19 


FF20 


FF21 


FF22 


FF23 


FF24 


FF25 


FF26 


FF27 


FF28 


FF29 


FF30 


FF31 


FF32 


FF33 


FF34 


FF35 


FF36 


FF37 


FF38 


FF39 


FF40 


FF41 


FF42 


FF43 


FF44 


FF45 


FF46 


FF47 


FF48 


FF49 


FF50 


FF51 


FF52 


FF53 


FF54 


FF55 


FF56 


FFRIA 


FF58 


FF59 


FF60 


FF61 


FF62 


FP63 


FF64 


FF65 


FF66 


FF67 


FF68 


FF69 


FF70 


FF71 


FF72 


FF73 


FF74 


FF75 


FF76 


FF77 


FF78 


FF^g 


FF&* 


FF81 


FF82 


FF83 


FF84 


FF85 


FF86 


FF87 


FBtsa. 


FF89 


FF90 


FF91 


FF92 


FF93 


FF94 


FF95 


FF96 


FF97 


FF98 


FF99 


FFIOO 


FFlOl 


FF102 


FF103 


FF104 


FF105 


FFlOe 


FF107 


FF108 


FF109 


FFllO 


FFlll 


FF112 


FF113 


FF114 


FF115 


FF116 


FF117 


FF118 


FF119 


FF120 


FF121 


FF122 


FF123 


FF124 


FF125 


FF126 
















(NA denotes 


dis]cs removed 


from the 


collection) 









Please complete this form and mail with check or money order to: 

PiM Publications, Inc. 

P.O.Box 869 

Fall River, MA 02722 

Please allow 4 to 6 weeks for delivery 



112 Amazing Computing V3. 4 ©1988 








ONLY 



■J ■ L 



CAN DO ALL THIS 



! I ! I 

Get the maximum graphics power from 
your Amiga. Create stunning, lifelike 
computer artwork with Digi-Paint, the 
first full-featured 4096 color (Hold and 
Modify) paint program. Break the "32 
color barrier" and finally realize the 
potential of your Amiga with Digi-Paint's 
advanced features; 



4096 colors on screen simultaneously 

NewTek's exclusive enhanced HAM 

mode 

Dithered HAM gradient fill 

•Full screen effects including double, 
half size, mirror reverse and more 

'Full IFF and Digi-View compatibil ty 

•Use 320x200 or HAM hi-res 
320x400 resolutions 

"■Fat bits Magnify mode 
Rectangle, oval, line and other drawing 
tools , 

12 different paint modes including 
blending, tinting and smooth shading 

'Full lasso cut and paste with automatic 

edgeblending 

Programmed completely in assembly 

language for fast, smooth response 



Find out why Byte Magazine calleq 
Digi-Paint "Remarkable". Available now 
at your local Amiga dealer or call: 
1-800-843-8934. 



%; ONLY $59.95